Skip to content

Latest commit

 

History

History
207 lines (151 loc) · 9.8 KB

README_zh-CN.md

File metadata and controls

207 lines (151 loc) · 9.8 KB


中文 | English
能够容纳千亿个顶点和万亿条边,并提供毫秒级查询延时的图数据库解决方案

WeiXin Zhihu SegmentFault Sina Weibo nebula star nebula fork codecov

v1.0分支储存了使用Docker Compose部署Nebula Graph v1.x最新开发版本的解决方案。

使用 Docker Compose 部署 Nebula Graph

Docker Compose可以帮助您快速部署Nebula Graph服务。

前提条件

  • 已在主机中安装了DockerDocker ComposeGit

    说明

  • 已在主机中启动了 Docker 服务。

  • 如果您在该主机上使用 Docker Compose 部署过其它版本的 Nebula Graph,为了避免兼容性问题,请先备份需要保留的服务数据,然后删除nebula-docker-compose/data目录。

部署流程

  1. 通过Git克隆nebula-docker-compose仓库的v1.0分支到您的主机。

    $ git clone -branch v1.0 https://github.com/vesoft-inc/nebula-docker-compose.git
  2. 进入 nebula-docker-compose 目录。

    $ cd nebula-docker-compose/
  3. 启动所有 Nebula Graph 服务。

    $ docker-compose up -d

    以下返回信息表明服务已启动:

    Creating nebula-docker-compose_metad2_1 ... done
    Creating nebula-docker-compose_metad1_1 ... done
    Creating nebula-docker-compose_metad0_1 ... done
    Creating nebula-docker-compose_storaged2_1 ... done
    Creating nebula-docker-compose_graphd_1    ... done
    Creating nebula-docker-compose_storaged0_1 ... done
    Creating nebula-docker-compose_storaged1_1 ... done

    说明:如需了解上述服务的详情,请参见 Nebula Graph 设计与架构

  4. 连接到 Nebula Graph。

    Nebula-console 是 Nebula Graph 的原生命令行客户端。在当前步骤中,Docker 会按下方命令中指定的 Docker Hub 路径将 nebula-console 镜像文件下载到本地主机,并用其连接 Nebula Graph 的 graphd 服务。您也可以使用其它客户端连接Nebula Graph,例如 Nebula Graph Studio 以及其它编程语言的客户端

    $ docker run --rm -ti --network=host vesoft/nebula-console:nightly -u <user> -p <password> --addr=127.0.0.1 --port=3699

    说明:Nebula Graph 默认不开启身份验证功能,此时可以省略上述命令中的 -u-p 选项。如需开启验证,请参见身份验证

查看 Nebula Graph 服务状态和端口

您可以使用如下命令查看 Nebula Graph 服务的详细信息,包括服务状态及端口号等:

$ docker-compose ps

返回结果的示例如下:

Name                     Command                       State                                                   Ports
-------------------------------------------------------------------------------------------------------------------------------------------------------------------
nebula-docker-compose_graphd_1      ./bin/nebula-graphd --flag ...   Up (health: starting)   0.0.0.0:32867->13000/tcp, 0.0.0.0:32866->13002/tcp, 3369/tcp, 0.0.0.0:3699->3699/tcp
nebula-docker-compose_metad0_1      ./bin/nebula-metad --flagf ...   Up (health: starting)   0.0.0.0:32865->11000/tcp, 0.0.0.0:32864->11002/tcp, 45500/tcp, 45501/tcp
nebula-docker-compose_metad1_1      ./bin/nebula-metad --flagf ...   Up (health: starting)   0.0.0.0:32863->11000/tcp, 0.0.0.0:32862->11002/tcp, 45500/tcp, 45501/tcp
nebula-docker-compose_metad2_1      ./bin/nebula-metad --flagf ...   Up (health: starting)   0.0.0.0:32861->11000/tcp, 0.0.0.0:32860->11002/tcp, 45500/tcp, 45501/tcp
nebula-docker-compose_storaged0_1   ./bin/nebula-storaged --fl ...   Up (health: starting)   0.0.0.0:32879->12000/tcp, 0.0.0.0:32877->12002/tcp, 44500/tcp, 44501/tcp
nebula-docker-compose_storaged1_1   ./bin/nebula-storaged --fl ...   Up (health: starting)   0.0.0.0:32876->12000/tcp, 0.0.0.0:32872->12002/tcp, 44500/tcp, 44501/tcp
nebula-docker-compose_storaged2_1   ./bin/nebula-storaged --fl ...   Up (health: starting)   0.0.0.0:32873->12000/tcp, 0.0.0.0:32870->12002/tcp, 44500/tcp, 44501/tcp

说明: Nebula Graph 默认通过 TCP3699 端口向客户端提供服务,您可以在网络配置中自定义端口号。

查看服务数据与日志

Nebula Graph 的服务数据和日志被持久化地保存在主机的 nebula-docker-compose/datanebula-docker-compose/logs 目录中。

目录结构如下所示:

nebula-docker-compose/
  |-- docker-compose.yaml
  |-- data
  |     |- meta0
  |     |- meta1
  |     |- meta2
  |     |- storage0
  |     |- storage1
  |     `- storage2
  `-- logs
        |- meta0
        |- meta1
        |- meta2
        |- storage0
        |- storage1
        |- storage2
        `- graph

停止 Nebula Graph 服务

您可以通过以下命令停止 Nebula Graph 服务:

$ docker-compose down -v

以下返回结果表明您已成功停止 Nebula Graph 服务:

Stopping nebula-docker-compose_storaged1_1 ... done
Stopping nebula-docker-compose_storaged0_1 ... done
Stopping nebula-docker-compose_graphd_1    ... done
Stopping nebula-docker-compose_storaged2_1 ... done
Stopping nebula-docker-compose_metad0_1    ... done
Stopping nebula-docker-compose_metad1_1    ... done
Stopping nebula-docker-compose_metad2_1    ... done
Removing nebula-docker-compose_storaged1_1 ... done
Removing nebula-docker-compose_storaged0_1 ... done
Removing nebula-docker-compose_graphd_1    ... done
Removing nebula-docker-compose_storaged2_1 ... done
Removing nebula-docker-compose_metad0_1    ... done
Removing nebula-docker-compose_metad1_1    ... done
Removing nebula-docker-compose_metad2_1    ... done
Removing network nebula-docker-compose_nebula-net

安装 Nebula Graph 的其它方法

常见问题

如何更新Nebula Graph服务的Docker镜像?

在目录nebula-docker-compose内执行命令docker-compose pull,可以更新Graph服务、Storage服务和Meta服务的镜像。

执行命令docker-compose pullERROR: toomanyrequests错误

您可能遇到如下错误:

ERROR: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit

以上错误表示您已达到Docker Hub的速率限制。解决方案请参见Understanding Docker Hub Rate Limiting

如何更新Nebula Console?

执行如下命令可以更新Nebula Console客户端镜像。

docker pull vesoft/nebula-console:nightly

如何升级用Docker Compose部署的Nebula Graph?

更新Nebula Graph的Docker镜像并重启服务:

  1. 在目录nebula-docker-compose内,执行命令docker-compose pull更新Nebula Graph的Docker镜像。

  2. 执行命令docker-compose down停止Nebula Graph服务。

  3. 执行命令docker-compose up -d启动Nebula Graph服务。