用 Docker Swarm 快速部署 Nebula Graph 集群

TeamD
发布于 2022-10-13 15:00
浏览
0收藏

本文介绍如何使用 Docker Swarm 来部署 Nebula Graph 集群,并部署客户端负载均衡和高可用。

 

01 nebula 集群搭建 

 

1.1 环境准备

 

机器准备

用 Docker Swarm 快速部署 Nebula Graph 集群-鸿蒙开发者社区

在安装前确保所有机器已安装 Docker

 

1.2 初始化 swarm 集群

 

在 192.168.1.166 机器上执行

用 Docker Swarm 快速部署 Nebula Graph 集群-鸿蒙开发者社区

1.3 加入 worker 节点

 

根据 init 命令提示内容,加入 swarm worker 节点,在 192.168.1.167 192.168.1.168 分别执行

用 Docker Swarm 快速部署 Nebula Graph 集群-鸿蒙开发者社区

1.4 验证集群

用 Docker Swarm 快速部署 Nebula Graph 集群-鸿蒙开发者社区

1.5 配置 docker stack

用 Docker Swarm 快速部署 Nebula Graph 集群-鸿蒙开发者社区

配置如下内容

用 Docker Swarm 快速部署 Nebula Graph 集群-鸿蒙开发者社区

编辑 nebula.env,加入如下内容

用 Docker Swarm 快速部署 Nebula Graph 集群-鸿蒙开发者社区

1.6 启动nebula集群

用 Docker Swarm 快速部署 Nebula Graph 集群-鸿蒙开发者社区

 

 

02 集群负载均衡及高可用配置 

 

Nebula Graph 的客户端目前(1.X)没有提供负载均衡的能力,只是随机选一个 graphd 去连接。所以生产使用的时候要自己做个负载均衡和高可用。

用 Docker Swarm 快速部署 Nebula Graph 集群-鸿蒙开发者社区

负载均衡层:对 client 请求做负载均衡,将请求分发至下方数据服务层

 

高可用层: 这里实现的是 haproxy 的高可用,保证负载均衡层的服务从而保证整个集群的正常服务

 

2.1 负载均衡配

 

haproxy 使用 docker-compose 配置。分别编辑以下三个文件

 

Dockerfile 加入以下内容

用 Docker Swarm 快速部署 Nebula Graph 集群-鸿蒙开发者社区

docker-compose.yml 加入以下内容

用 Docker Swarm 快速部署 Nebula Graph 集群-鸿蒙开发者社区

haproxy.cfg 加入以下内容

用 Docker Swarm 快速部署 Nebula Graph 集群-鸿蒙开发者社区

2.2 启动 haproxy

用 Docker Swarm 快速部署 Nebula Graph 集群-鸿蒙开发者社区

2.3 高可用配置

 

注:配置 keepalive 需预先准备好 vip(虚拟 ip),在以下配置中 192.168.1.99 便为虚拟 ip

 

在 192.168.1.166 、192.168.1.167、192.168.1.168 上均做以下配置

 

安装 keepalived

用 Docker Swarm 快速部署 Nebula Graph 集群-鸿蒙开发者社区

更改 keepalived 配置文件  /etc/keepalived/keepalived.conf (三台机器中做如下配置,priority 应设置不同值确定优先级)

 

192.168.1.166 机器配置

用 Docker Swarm 快速部署 Nebula Graph 集群-鸿蒙开发者社区

167 机器配置

用 Docker Swarm 快速部署 Nebula Graph 集群-鸿蒙开发者社区

168 机器配置

用 Docker Swarm 快速部署 Nebula Graph 集群-鸿蒙开发者社区

 

 

03 其他 

 

离线怎么部署?把镜像更改为私有镜像库就成了,有问题欢迎来勾搭啊。



文章转载自公众号:Nebula Graph Community

分类
标签
已于2022-10-13 15:00:26修改
收藏
回复
举报
回复
    相关推荐