用 Docker Swarm 快速部署 Nebula Graph 集群
本文介绍如何使用 Docker Swarm 来部署 Nebula Graph 集群,并部署客户端负载均衡和高可用。
01 nebula 集群搭建
1.1 环境准备
机器准备
在安装前确保所有机器已安装 Docker
1.2 初始化 swarm 集群
在 192.168.1.166 机器上执行
1.3 加入 worker 节点
根据 init 命令提示内容,加入 swarm worker 节点,在 192.168.1.167 192.168.1.168 分别执行
1.4 验证集群
1.5 配置 docker stack
配置如下内容
编辑 nebula.env,加入如下内容
1.6 启动nebula集群
02 集群负载均衡及高可用配置
Nebula Graph 的客户端目前(1.X)没有提供负载均衡的能力,只是随机选一个 graphd 去连接。所以生产使用的时候要自己做个负载均衡和高可用。
负载均衡层:对 client 请求做负载均衡,将请求分发至下方数据服务层
高可用层: 这里实现的是 haproxy 的高可用,保证负载均衡层的服务从而保证整个集群的正常服务
2.1 负载均衡配
haproxy 使用 docker-compose 配置。分别编辑以下三个文件
Dockerfile 加入以下内容
docker-compose.yml 加入以下内容
haproxy.cfg 加入以下内容
2.2 启动 haproxy
2.3 高可用配置
注:配置 keepalive 需预先准备好 vip(虚拟 ip),在以下配置中 192.168.1.99 便为虚拟 ip
在 192.168.1.166 、192.168.1.167、192.168.1.168 上均做以下配置
安装 keepalived
更改 keepalived 配置文件 /etc/keepalived/keepalived.conf (三台机器中做如下配置,priority 应设置不同值确定优先级)
192.168.1.166 机器配置
167 机器配置
168 机器配置
03 其他
离线怎么部署?把镜像更改为私有镜像库就成了,有问题欢迎来勾搭啊。
文章转载自公众号:Nebula Graph Community