docker部署nebula集群和 studio图形界面

配置这些之前,先保证你可以拉取到这些镜像,在这篇文章配置。docker拉取镜像失败 – 欲买桂花同载酒,终不似,少年游

使用 Docker Compose 部署 NebulaGraph
使用 Docker Compose 可以基于准备好的配置文件快速部署 NebulaGraph 服务,仅建议在测试 NebulaGraph 功能时使用该方式。
5.5.1 前提条件
主机上安装如下应用程序。
如果使用非 root 用户部署 NebulaGraph,请授权该用户 Docker 相关的权限。详细信息,请参见 Manage Docker as a non-root user。
启动主机上的 Docker 服务。
如果已经通过 Docker Compose 在主机上部署了另一个版本的 NebulaGraph,为避免兼容性问题,需要删除目录 nebula-docker-compose/data 。
5.5.2 部署 NebulaGraph
通过 Git 克隆 nebula-docker-compose 仓库的 3.6.0 分支到主机。
master 分支包含最新的未测试代码。请不要在生产环境使用此版本。
Docker Compose 的 x.y 版本对齐内核的 x.y 版本,对于内核 z 版本,Docker Compose 不会发布对应的 z 版本,但是会拉取 z 版本的内核镜像。
切换至目录 nebula-docker-compose 。
执行如下命令启动 NebulaGraph 服务。
如果长期未内核更新镜像,请先更新 NebulaGraph 镜像和 NebulaGraph Console 镜像。
执行命令后的返回结果因安装目录不同而不同。
• 
应用程序 推荐版本 官方安装参考
Docker 最新版本 Install Docker Engine
Docker Compose 最新版本 Install Docker Compose
Git 最新版本 Download Git

Danger
git clone -b release-3.6 https://github.com/vesoft-inc/nebula-docker-compose.git
Note
2. 进入docker文件
cd nebula-docker-compose/
3. 
Note
• 
• 
[nebula-docker-compose]$ docker-compose up -d
Creating nebula-docker-compose_metad0_1 ... done
Creating nebula-docker-compose_metad2_1 ... done
Creating nebula-docker-compose_metad1_1 ... done
Creating nebula-docker-compose_graphd2_1 ... done
Creating nebula-docker-compose_graphd_1 ... done
Creating nebula-docker-compose_graphd1_1 ... done
Creating nebula-docker-compose_storaged0_1 ... done
Creating nebula-docker-compose_storaged2_1 ... done
Creating nebula-docker-compose_storaged1_1 ... done
5.5 使用 Docker Compose 部署 NebulaGraph
- 348/771 - 2023 Vesoft Inc.从 3.1 版本开始,Docker-compose 会自动启动 NebulaGraph Console 镜像的容器,并将 Storage 主机增加至集群中(即 ADD HOSTS 命令)。
上述服务的更多信息,请参见架构总览。
5.5.3 连接 NebulaGraph
连接 NebulaGraph 有两种方式:
在容器外通过 Nebula Console 连接。因为容器的配置文件中将 Graph 服务的外部映射端口也固定为 9669,因此可以直接通过默认端口连接。详情
参见连接 NebulaGraph 。
登录安装了 NebulaGraph Console 的容器,然后再连接 Graph 服务。本小节介绍这种方式。
使用 docker-compose ps 命令查看 NebulaGraph Console 容器名称。
nebula-docker-compose_console_1 和 nebula-docker-compose_graphd1_1 为容器的名称。
进入 NebulaGraph Console 容器中。
通过 NebulaGraph Console 连接 NebulaGraph 。
默认情况下,身份认证功能是关闭的,只能使用已存在的用户名(默认为 root )和任意密码登录。如果想使用身份认证,请参见身份认证。
查看集群状态。
执行两次 exit 可以退出容器。
Compatibility
Note
• 
• 
1. 使用 docker-compose ps 命令查看 NebulaGraph Console 容器名称。
docker-compose ps
 Name Command State Ports 
-----------------------------------------------------------------------------------------------------------------------------------------------------------
nebula-docker-compose_console_1 sh -c for i in `seq 1 60`; ... Up 
nebula-docker-compose_graphd1_1 /usr/local/nebula/bin/nebu ... Up (healthy) 0.0.0.0:32847->15669/tcp,:::32847->15669/tcp, 19669/tcp, 
 0.0.0.0:32846->19670/tcp,:::32846->19670/tcp, 
 0.0.0.0:32849->5669/tcp,:::32849->5669/tcp, 9669/tcp 
......
Note
2. 入 NebulaGraph Console 容器中
 docker exec -it nebula-docker-compose_console_1 /bin/sh
/ #
3. 通过 NebulaGraph Console 连接 NebulaGraph          用户是宿主机用户
/ # ./usr/local/bin/nebula-console -u <user_name> -p <password> --address=graphd --port=9669
Note
4. 查看集群状态。
nebula> SHOW HOSTS;
+-------------+------+----------+--------------+----------------------+------------------------+---------+
| Host | Port | Status | Leader count | Leader distribution | Partition distribution | Version |
+-------------+------+----------+--------------+----------------------+------------------------+---------+
| "storaged0" | 9779 | "ONLINE" | 0 | "No valid partition" | "No valid partition" | "master" |
| "storaged1" | 9779 | "ONLINE" | 0 | "No valid partition" | "No valid partition" | "master" |
| "storaged2" | 9779 | "ONLINE" | 0 | "No valid partition" | "No valid partition" | "master" |
+-------------+------+----------+--------------+----------------------+------------------------+---------+
5.5.3 连接 NebulaGraph
- 349/771 - 2023 Vesoft Inc.5.5.4 查看 NebulaGraph 服务的状态和端口
执行命令 docker-compose ps 可以列出 NebulaGraph 服务的状态和端口。
NebulaGraph 默认使用 9669 端口为客户端提供服务,如果需要修改端口,请修改目录 nebula-docker-compose 内的文件 docker-compose.yaml ,然后重启
NebulaGraph 服务。
如果服务有异常,用户可以先确认异常的容器名称(例如 nebula-docker-compose_graphd2_1 ),然后登录容器排查问题:
5.5.5 查看 NebulaGraph 服务的数据和日志
NebulaGraph 的所有数据和日志都持久化存储在 nebula-docker-compose/data 和 nebula-docker-compose/logs 目录中。
目录的结构如下:
5.5.6 修改配置
Docker Compose 配置文件位置为 nebula-docker-compose/docker-compose.yaml ,修改该文件内的配置并重启服务即可使新配置生效。
docker-compose.yaml 文件中的配置会覆盖服务容器内的配置文件( /usr/local/nebula/etc )的配置,因此也可以通过修改 docker-compose.yaml 文件设置服
务的配置。
具体的配置说明请参见配置管理。
Note
$ docker-compose ps
nebula-docker-compose_console_1 sh -c sleep 3 && Up
 nebula-co ...
nebula-docker-compose_graphd1_1 /usr/local/nebula/bin/nebu ... Up 0.0.0.0:49174->19669/tcp,:::49174->19669/tcp, 0.0.0.0:49171->19670/tcp,:::49171->19670/tcp, 0.0.0.0:49177->9669/tcp,:::
49177->9669/tcp
nebula-docker-compose_graphd2_1 /usr/local/nebula/bin/nebu ... Up 0.0.0.0:49175->19669/tcp,:::49175->19669/tcp, 0.0.0.0:49172->19670/tcp,:::49172->19670/tcp, 0.0.0.0:49178->9669/tcp,:::
49178->9669/tcp
nebula-docker-compose_graphd_1 /usr/local/nebula/bin/nebu ... Up 0.0.0.0:49180->19669/tcp,:::49180->19669/tcp, 0.0.0.0:49179->19670/tcp,:::49179->19670/tcp, 0.0.0.0:9669->9669/tcp,:::
9669->9669/tcp
nebula-docker-compose_metad0_1 /usr/local/nebula/bin/nebu ... Up 0.0.0.0:49157->19559/tcp,:::49157->19559/tcp, 0.0.0.0:49154->19560/tcp,:::49154->19560/tcp, 0.0.0.0:49160->9559/tcp,:::
49160->9559/tcp, 9560/tcp
nebula-docker-compose_metad1_1 /usr/local/nebula/bin/nebu ... Up 0.0.0.0:49156->19559/tcp,:::49156->19559/tcp, 0.0.0.0:49153->19560/tcp,:::49153->19560/tcp, 0.0.0.0:49159->9559/tcp,:::
49159->9559/tcp, 9560/tcp
nebula-docker-compose_metad2_1 /usr/local/nebula/bin/nebu ... Up 0.0.0.0:49158->19559/tcp,:::49158->19559/tcp, 0.0.0.0:49155->19560/tcp,:::49155->19560/tcp, 0.0.0.0:49161->9559/tcp,:::
49161->9559/tcp, 9560/tcp
nebula-docker-compose_storaged0_1 /usr/local/nebula/bin/nebu ... Up 0.0.0.0:49166->19779/tcp,:::49166->19779/tcp, 0.0.0.0:49163->19780/tcp,:::49163->19780/tcp, 9777/tcp, 9778/tcp, 0.
0.0.0:49169->9779/tcp,:::49169->9779/tcp, 9780/tcp
nebula-docker-compose_storaged1_1 /usr/local/nebula/bin/nebu ... Up 0.0.0.0:49165->19779/tcp,:::49165->19779/tcp, 0.0.0.0:49162->19780/tcp,:::49162->19780/tcp, 9777/tcp, 9778/tcp, 0.
0.0.0:49168->9779/tcp,:::49168->9779/tcp, 9780/tcp
nebula-docker-compose_storaged2_1 /usr/local/nebula/bin/nebu ... Up 0.0.0.0:49167->19779/tcp,:::49167->19779/tcp, 0.0.0.0:49164->19780/tcp,:::49164->19780/tcp, 9777/tcp, 9778/tcp, 0.
0.0.0:49170->9779/tcp,:::49170->9779/tcp, 9780/tcp
$ docker exec -it nebula-docker-compose_graphd2_1 bash
nebula-docker-compose/
 |-- docker-compose.yaml
 ├── data
 │ ├── meta0
 │ ├── meta1
 │ ├── meta2
 │ ├── storage0
 │ ├── storage1
 │ └── storage2
 └── logs
 ├── graph
 ├── graph1
 ├── graph2
 ├── meta0
 ├── meta1
 ├── meta2
 ├── storage0
 ├── storage1
 └── storage2
5.5.4 查看 NebulaGraph 服务的状态和端口
- 350/771 - 2023 Vesoft Inc.5.5.7 重启 NebulaGraph 服务
重启所有 NebulaGraph 服务:
重启多个服务,例如重启 graphd 和 stoarged0 服务:
5.5.8 停止并删除 NebulaGraph 服务
用户可以执行如下命令停止并删除 Docker Compose启动的所有 NebulaGraph 服务:
该命令会停止并删除所有 NebulaGraph 服务的容器,以及相关网络。如果用户在 docker-compose.yaml 中定义了卷( volumes ),则会保留相关数据。
命令 docker-compose down -v 的参数 -v 将会删除所有本地的数据。如果使用的是 nightly 版本,并且有一些兼容性问题,请尝试这个命令。
如果返回如下信息,表示已经成功停止服务。
5.5.9 常见问题
如何固定 Docker 映射到外部的端口?
在目录 nebula-docker-compose 内修改文件 docker-compose.yaml ,将对应服务的 ports 设置为固定映射,例如:
$ docker-compose restart
Restarting nebula-docker-compose_console_1 ... done
Restarting nebula-docker-compose_graphd_1 ... done
Restarting nebula-docker-compose_graphd1_1 ... done
Restarting nebula-docker-compose_graphd2_1 ... done
Restarting nebula-docker-compose_storaged1_1 ... done
Restarting nebula-docker-compose-storaged0_1 ... done
Restarting nebula-docker-compose_storaged2_1 ... done
Restarting nebula-docker-compose_metad1_1 ... done
Restarting nebula-docker-compose_metad2_1 ... done
Restarting nebula-docker-compose_metad0_1 ... done
$ docker-compose restart graphd storaged0
Restarting nebula-docker-compose_graphd_1 ... done
Restarting nebula-docker-compose_storaged0_1 ... done
Danger
$ docker-compose down
Stopping nebula-docker-compose_console_1 ... done
Stopping nebula-docker-compose_graphd1_1 ... done
Stopping nebula-docker-compose_graphd_1 ... done
Stopping nebula-docker-compose_graphd2_1 ... done
Stopping nebula-docker-compose_storaged1_1 ... done
Stopping nebula-docker-compose_storaged0_1 ... done
Stopping nebula-docker-compose_storaged2_1 ... done
Stopping nebula-docker-compose_metad2_1 ... done
Stopping nebula-docker-compose_metad0_1 ... done
Stopping nebula-docker-compose_metad1_1 ... done
Removing nebula-docker-compose_console_1 ... done
Removing nebula-docker-compose_graphd1_1 ... done
Removing nebula-docker-compose_graphd_1 ... done
Removing nebula-docker-compose_graphd2_1 ... done
Removing nebula-docker-compose_storaged1_1 ... done
Removing nebula-docker-compose_storaged0_1 ... done
Removing nebula-docker-compose_storaged2_1 ... done
Removing nebula-docker-compose_metad2_1 ... done
Removing nebula-docker-compose_metad0_1 ... done
Removing nebula-docker-compose_metad1_1 ... done
Removing network nebula-docker-compose_nebula-net
graphd:
 image: vesoft/nebula-graphd:release-3.6
 ...
 ports:
 - 9669:9669
 - 19669
 - 19670
5.5.7 重启 NebulaGraph 服务
- 351/771 - 2023 Vesoft Inc.9669:9669 表示内部的 9669 映射到外部的端口也是 9669,下方的 19669 表示内部的 19669 映射到外部的端口是随机的。
如何升级/更新 NebulaGraph 服务的 Docker 镜像?
在文件 nebula-docker-compose/docker-compose.yaml 中,找到所有服务的 image 并修改其值为相应的镜像版本。
在目录 nebula-docker-compose 内执行命令 docker-compose pull ,更新 Graph 服务、Storage 服务、Meta 服务和 NebulaGraph Console 的镜像。
执行命令 docker-compose up -d 启动 NebulaGraph 服务。
通过 NebulaGraph Console 连接 NebulaGraph 后,分别执行命令 SHOW HOSTS GRAPH 、 SHOW HOSTS STORAGE 、 SHOW HOSTS META 查看各服务版本。
执行命令 docker-compose pull 报错 ERROR: toomanyrequests
可能遇到如下错误:
ERROR: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increaserate-limit
以上错误表示已达到
 Docker Hub 的速率限制。解决方案请参见 Understanding Docker Hub Rate Limiting。
如何更新 NebulaGraph Console?
docker-compose pull 会同时更新 NebulaGraph 服务和 NebulaGraph Console。
Storaged 容器一直处于 offline 状态
在小概率的情况下,Docker Compose 中的 Storaged 激活脚本并没有在适当的时机得到执行。如果发现 Storaged 容器的健康状态一直是 offline ,可
以通过 NebulaGraph Console 或者 NebulaGraph Studio 连接 NebulaGraph,并手动执行 ADD HOSTS 命令对其进行激活。激活命令示例如下:
1. 
2. 
3. 
4. 
nebula> ADD HOSTS "storaged0":9779,"storaged1":9779,"storaged2":9779

安装 Nebula Graph Studio
下载 docker-compose.yum 文件

wget https://oss-cdn.nebula-graph.com.cn/nebula-graph-studio/3.2.2/nebula-graph-studio-v3.2.2.tar.gz

  1. 创建nebula-graph-studio-v3目录,并将安装包解压至目录中。
  2. mkdir nebula-graph-studio-v3 && tar -zxvf nebula-graph-studio-v3.tar.gz -C nebula-graph-studio-v3
  3. 解压后进入 nebula-graph-studio-v3 目录。
  4. cd nebula-graph-studio-v3
  5. 拉取 Studio 的 Docker 镜像。
  6. docker-compose pull
  7. 构建并启动 Studio 服务。其中,-d 表示在后台运行服务容器。
  8. docker-compose up -d


解压文件

tar -zxvf nebula-graph-studio-v3.2.2.tar.gz

进入目录启动服务:

docker-compose up -d

启动完成后,在浏览器访问:http://ip address:7001,进入后,会提示配置数据库

密码是宿主机的root用户密码

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇
       赣ICP备2025061060号 |       版权所有 © 2025 鸣乐庐    
      网站访问次数:41,718 次
正在获取您的IP和天气信息...