alibaba / GraphScope

🔨 🍇 💻 🚀 GraphScope: A One-Stop Large-Scale Graph Computing System from Alibaba | 一站式图计算系统
https://graphscope.io
Apache License 2.0
3.28k stars 442 forks source link

Support docker-compose deployment for GraphScope #3821

Open siyuan0322 opened 5 months ago

Thespica commented 3 months ago

Hi @siyuan0322

I wanna have a try! I have tried installing GraphScope with pip, with minikube, and with dev-container. Could you provide more descriptions about this issue? Are we going to provide docker-compose file for single machine deployment, or for k8s?

siyuan0322 commented 3 months ago

@Thespica Hi, the docker compose deployment is supposed to have an alternative option for those users who doesn't have a k8s environment, it should support both single host deployment as well as multiple host deployment.

Yes it's expected to provide a docker-compose file with all component. It should be similar with the helm k8s deployment.

Thespica commented 2 months ago

Hello @siyuan0322

I met some errors when running docker images as discussion here descripted.

I have tried run containers of

independently, but only v6d and jupiter ran successfully, while others exist without log or error message. Could you give me some suggestions?

Besides, here is my docker-compose.yaml for reference:

version: '3.8'

services:
  coordinator:
    image: registry.cn-hongkong.aliyuncs.com/graphscope/coordinator:latest
    ports:
      - "30081:80"
    deploy:
      resources:
        limits:
          cpus: '1'
          memory: 512M
        reservations:
          cpus: '0.2'
          memory: 256M
    volumes:
      - /tmp/testingdata:/testingdata

  vineyard:
    image: vineyardcloudnative/vineyardd:latest
    deploy:
      resources:
        limits:
          cpus: '0.5'
          memory: 512M
        reservations:
          cpus: '0.5'
          memory: 512M

  jupyter:
    image: registry.cn-hongkong.aliyuncs.com/graphscope/jupyter:latest
    ports:
      - "30080:8888"
    deploy:
      resources:
        limits:
          cpus: '1.0'
          memory: 512M
        reservations:
          cpus: '0.5'
          memory: 256M

  gae:
    image: registry.cn-hongkong.aliyuncs.com/graphscope/analytical:0.28.0
    deploy:
      resources:
        reservations:
          cpus: '1'
          memory: 1G

  gie_executor:
    image: registry.cn-hongkong.aliyuncs.com/graphscope/interactive-executor:0.28.0
    deploy:
      resources:
        reservations:
          cpus: '1'
          memory: 1G

  gie_frontend:
    image: registry.cn-hongkong.aliyuncs.com/graphscope/interactive-frontend:0.28.0
    deploy:
      resources:
        reservations:
          cpus: '0.5'
          memory: 1G

  gle:
    image: registry.cn-hongkong.aliyuncs.com/graphscope/learning:0.28.0
    deploy:
      resources:
        reservations:
          cpus: '0.2'
          memory: 1G

volumes:
  testingdata:
    driver: local
siyuan0322 commented 2 months ago

@Thespica Hi, Some containers are not built with a command to start the process, for example, it just check the log in here, as well as in other images. The process is started by coordinator. So the basic process is start all container, and coordinator will wait until all container running, then do the mpi command to launch process. As for the interactive-frontend and interactive-executor, the working process will be launched on demand, i.e. when user typed sess.interactive(g).