在生产环境中,为了保证服务的高可用和高性能,通常会以集群的方式部署 Nebula Graph。
机器规划
在 3 台服务器上都部署 Graph 服务、Meta 服务和 Storage 服务,这 3 个服务是 Nebula Graph 的核心组件。在 ydt-net–nebula1 服务器上部署 Nebula Dashboard 和 Nebula Graph Studio 服务用于可视化操作和监控。
主机名IP 地址角色ydt-net-nebula111.8.38.149Nebula Graph,Nebula Dashboard,Nebula Graph Studioydt-net-nebula211.8.38.150Nebula Graphydt-net-nebula311.8.38.151Nebula Graph
修改配置文件
分别修改 3 台机器的 nebula-graphd.conf,nebula-storaged.conf,nebula-metad.conf 配置文件,这 3 个配置文件中都只需要修改 –meta_server_addrs和 __local_ip两个参数。
- –meta_server_addrs参数表示的 Meta 服务的地址和端口,所有机器该参数值都一样。
- –local_ip表示本机在哪个 IP 监听服务,每台机器的需要改成自己的本身的 IP 地址。
修改配置文件
启动服务
在 3 台服务器上使用以下命令启用 Nebula Graph 的所有服务,包括 Meta 服务、Graph 服务和 Storage 服务。
sudo /usr/local/nebula/scripts/nebula.service start all
验证 Nebula 集群状态
通过 Nebula Console 连接任何一个已启动 Graph 服务的机器,执行命令 SHOW HOSTS检查集群状态。
# 连接 Graph 服务
./nebula-console --addr 11.8.38.149 --port 9669 -u root -p nebula
# 查看集群状态
(root@nebula) [(none)]> SHOW HOSTS;
+---------------+------+----------+--------------+--------------------------------------------+--------------------------------------------+
| Host | Port | Status | Leader count | Leader distribution | Partition distribution |
+---------------+------+----------+--------------+--------------------------------------------+--------------------------------------------+
| "11.8.38.149" | 9779 | "ONLINE" | 0 | "No valid partition" | "No valid partition" |
| "11.8.38.150" | 9779 | "ONLINE" | 0 | "No valid partition" | "No valid partition" |
| "11.8.38.151" | 9779 | "ONLINE" | 0 | "No valid partition" | "No valid partition" |
| "Total" | | | 0 | "No valid partition" | "No valid partition" |
+---------------+------+----------+--------------+--------------------------------------------+--------------------------------------------+