nebulagraph使用docker compose后连接

docker exec -it nebula-docker-compose-master-console-1   sh -c "sleep 3; /usr/local/bin/nebula-console -u root -p nebula --address=graphd --port=9669"

NebulaGraph 是一款开源的分布式图数据库,使用 Docker 可以方便地快速部署和体验。以下是详细的安装步骤和命令说明。

前置条件

  1. 已安装 Docker 引擎(Docker 19.03.0 或更高版本)

  2. 已安装 Docker Compose(推荐)

  3. 系统资源:至少 4GB 内存

安装步骤

方法一:使用 Docker Compose(推荐)

  1. 创建项目目录

    mkdir nebula-docker && cd nebula-docker
  2. 下载 docker-compose.yml 文件

    wget https://github.com/vesoft-inc/nebula-docker-compose/archive/master.zip
    unzip master.zip
    cd nebula-docker-compose-master

    或者直接克隆仓库:

    git clone https://github.com/vesoft-inc/nebula-docker-compose.git
    cd nebula-docker-compose
  3. 启动 NebulaGraph 服务

    docker-compose up -d

    这个命令会启动以下服务:

    • 3 个 NebulaGraph 存储服务(storaged)

    • 3 个 NebulaGraph 元数据服务(metad)

    • 1 个 NebulaGraph 图服务(graphd)

    • 1 个 NebulaGraph 控制台(console)

  4. 验证服务状态

    docker-compose ps

    应该看到类似下面的输出,所有服务状态应为 "Up":

            Name                     Command               State                                 Ports
    ------------------------------------------------------------------------------------------------------------------------
    nebula-docker-compose_console_1   /bin/sh -c sleep 3 && ...   Up
    nebula-docker-compose_graphd1_1   /usr/local/nebula/bin/ ...  Up      0.0.0.0:33205->19669/tcp, 0.0.0.0:33204->19670/tcp
    nebula-docker-compose_metad0_1    /usr/local/nebula/bin/ ...  Up      0.0.0.0:33165->19559/tcp, 0.0.0.0:33162->19560/tcp,
                                                                          9559/tcp, 0.0.0.0:33163->9560/tcp
    nebula-docker-compose_metad1_1    /usr/local/nebula/bin/ ...  Up      0.0.0.0:33167->19559/tcp, 0.0.0.0:33166->19560/tcp,
                                                                          9559/tcp, 0.0.0.0:33168->9560/tcp
    nebula-docker-compose_metad2_1    /usr/local/nebula/bin/ ...  Up      0.0.0.0:33171->19559/tcp, 0.0.0.0:33170->19560/tcp,
                                                                          9559/tcp, 0.0.0.0:33172->9560/tcp
    nebula-docker-compose_storaged0_1 /usr/local/nebula/bin/ ...  Up      0.0.0.0:33179->19779/tcp, 0.0.0.0:33176->19780/tcp,
                                                                          9777/tcp, 9778/tcp, 9779/tcp, 9780/tcp
    nebula-docker-compose_storaged1_1 /usr/local/nebula/bin/ ...  Up      0.0.0.0:33181->19779/tcp, 0.0.0.0:33180->19780/tcp,
                                                                          9777/tcp, 9778/tcp, 9779/tcp, 9780/tcp
    nebula-docker-compose_storaged2_1 /usr/local/nebula/bin/ ...  Up      0.0.0.0:33185->19779/tcp, 0.0.0.0:33184->19780/tcp,
                                                                          9777/tcp, 9778/tcp, 9779/tcp, 9780/tcp

方法二:使用单个 Docker 容器

如果只是想快速体验 NebulaGraph,可以使用单个容器运行:

  1. 拉取 NebulaGraph 镜像

    docker pull vesoft/nebula-graphd:latest
  2. 运行 NebulaGraph 服务

    docker run -it -p 9669:9669 -p 19669:19669 -p 19670:19670 vesoft/nebula-graphd:latest

    这个命令会启动一个包含 graphd、metad 和 storaged 的容器。

连接 NebulaGraph

  1. 进入 NebulaGraph 控制台

    docker exec -it nebula-docker-compose_console_1 /bin/sh -c "sleep 3; /usr/local/bin/nebula-console -u root -p nebula --address=graphd --port=9669"

    或者如果使用单个容器方式:

    docker exec -it <container_id> /usr/local/bin/nebula-console -u root -p nebula
  2. 基本操作示例

    -- 查看服务状态
    SHOW HOSTS;
    
    -- 创建空间
    CREATE SPACE test(partition_num=15, replica_factor=1, vid_type=fixed_string(30));
    
    -- 使用空间
    USE test;
    
    -- 创建标签
    CREATE TAG player(name string, age int);
    
    -- 插入数据
    INSERT VERTEX player(name, age) VALUES "player1":("Tom", 20);
    
    -- 查询数据
    FETCH PROP ON player "player1";

管理命令

  • 停止服务:

    docker-compose down
  • 重启服务:

    docker-compose restart
  • 查看日志:

    docker-compose logs

注意事项

  1. 生产环境建议使用独立的 metad 和 storaged 节点

  2. 默认配置不适合生产环境,需要根据实际情况调整

  3. 数据默认存储在容器内,重启容器会丢失数据。如需持久化,需要挂载数据卷:

    # 在 docker-compose.yml 中添加 volumes
    volumes:
      - ./data:/usr/local/nebula/data
  4. 默认用户名/密码是 root/nebula

通过以上步骤,你应该已经成功使用 Docker 部署了 NebulaGraph 图数据库。

posted @ 2025-07-06 10:11  郭慕荣  阅读(45)  评论(0)    收藏  举报