中文 | English
能够容纳千亿个顶点和万亿条边,并提供毫秒级查询延时的图数据库解决方案
Docker Compose 可以帮助您快速部署 Nebula Graph 服务。
-
已在主机中安装了 Docker、Docker Compose 和 Git。
名称 推荐版本 官方安装路径 Docker 最新版本 安装 Docker Engine Docker Compose 最新版本 安装 Docker Compose Git 最新版本 下载 Git -
使用 Docker 时,如果您的用户没有 root 权限,请参见以非 root 权限用户管理 Docker。
-
已在主机中启动了 Docker 服务。
-
如果您在该主机上使用 Docker Compose 部署过其它版本的 Nebula Graph,为了避免兼容性问题,请先备份需要保留的服务数据,然后删除
nebula-docker-compose/data
目录。
-
使用 Git 将
nebula-docker-compose
库拷贝到您的主机。- 安装 Nebula Graph 1.0 版本请拷贝
v1.0
分支。
$ git clone --branch v1.0 https://github.com/vesoft-inc/nebula-docker-compose.git
- 安装 Nebula Graph 2.0 版本请拷贝
master
分支。
$ git clone https://github.com/vesoft-inc/nebula-docker-compose.git
- 安装 Nebula Graph 1.0 版本请拷贝
-
进入
nebula-docker-compose
目录。$ cd nebula-docker-compose/
-
启动所有 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 设计与架构。
-
连接到 Nebula Graph。
Nebula-console 是 Nebula Graph 的原生命令行客户端。在当前步骤中,Docker 会按下方命令中指定的 Docker Hub 路径将 nebula-console 镜像文件下载到本地主机,并用其连接 Nebula Graph 的 graphd 服务。您也可以使用其它客户端连接Nebula Graph,例如 Nebula Graph Studio 以及其它编程语言的客户端。
- 连接到 Nebula Graph 1.0 版本:
$ docker run --rm -ti --network=host vesoft/nebula-console:nightly -u <user> -p <password> --addr=127.0.0.1 --port=3699
- 连接到 Nebula Graph 2.0 版本:
$ docker run --rm -ti --network nebula-docker-compose_nebula-net --entrypoint=/bin/sh vesoft/nebula-console:v2-preview-nightly
docker> nebula-console -u <user> -p <password> --address=graphd --port=9669
说明:Nebula Graph 默认不开启身份验证功能,您可以使用任意用户名和密码连接到 Nebula Graph。如需开启验证,请参见身份验证。
显示以下信息表明您已成功连接到 Nebula Graph:
Welcome to Nebula Graph (Version 5d10861) (user@127.0.0.1) [(none)]>
您可以使用如下命令查看 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 v1.x 默认通过
3699
端口向客户端提供服务。Nebula Graph v2.x 默认通过9669
端口向客户端提供服务。如需使用其他端口,请更改nebula-docker-compose
目录下的docker-compose.yaml
配置文件。
Nebula Graph 的服务数据和日志被持久化地保存在主机的 nebula-docker-compose/data
和 nebula-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 服务:
$ 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 Console 客户端,在 nebula-docker-compose
目录使用 docker pull
命令。例如,如果您想更新 Nebula Graph 1.0 版本的 Nebula Console,运行以下命令。
docker pull vesoft/nebula-console:nightly
如果您想更新 Nebula Graph 2.0 版本的 Nebula Console,运行以下命令。
docker pull vesoft/nebula-console:v2-nightly
要升级 Nebula Graph,请更新 Nebula Graph docker 镜像并重启服务。
- 在
nebula-docker-compose
目录下,运行docker-compose pull
更新 Nebula Graph docker 镜像。
注意:在停止 Nebula Graph 服务之前,请确保您已经备份了所有重要数据。
-
运行
docker-compose down
命令停止 Nebula Graph 服务。 -
运行
docker-compose up -d
命令重新启动 Nebula Graph 服务。
Nebula Graph 2.0.0-RC 版本发布后,默认连接端口从 3699
改为 9669
。更新仓库后,若要连接 Nebula Graph,请使用 9669
端口或修改 docker-compose.yaml
文件中的端口号。
如果您在 2021 年 1 月 4 日之后更新了 nebula-docker-compose 仓库,并且未删除之前的数据,请修改 docker-compose.yaml
文件,将端口号改为之前的端口号,再连接到 Nebula Graph。
您可以进行创建图空间和插入数据等操作,详情请参见 Nebula Graph 快速入门。