Redis 集群 docker 部署
本文档主要是描述如何部署一个三主两从的 redis cluster
版本:5.0
部署方式:docker 部署
部署服务器架构
服务器版本:centos 7.9
![](https://static001.geekbang.org/infoq/ee/ee4b1696d170f49a5f3c6844749a4816.png)
部署架构就是三主两从,从节点不在本服务器上面。
部署步骤
首先在服务器启动 9 个 redis,我在每台服务器上部署三个 redis,端口分别是 6370,6371,6372。
redis 启动流程指令如下:
复制代码
创建 redis 集群
部署完 redis 后,docker exec
到某一个 redis 容器内,执行如下操作指令:
复制代码
![](https://static001.geekbang.org/infoq/15/15042001de489050738257388a0778cc.png)
通过cluster info
指令查看创建好的 redis 集群信息,可以看到 cluster_know_nodes 有 3 个节点,就是上面加入 cluster 的三个节点
![](https://static001.geekbang.org/infoq/59/59f35bccd0b08d6fe7dc79270eb26b83.png)
通过cluster nodes
指令查看创建 node 的节点
![](https://static001.geekbang.org/infoq/42/423c3d5c50209bbacee12e13de1b7f26.png)
注意,--cluster-replicas 设置,这个表示你要加入的 node 里面,每个 master 要有多少个副本。如果是上面指令,只能写 0。
![](https://static001.geekbang.org/infoq/23/232c91c47cf3316b72d491e2f4e6d723.png)
注意,如果 redis 有设置密码的,必须要-a 加上密码,不然会报这个错
![](https://static001.geekbang.org/infoq/ac/ace7903e9aa7c12e944e281b7e56add5.png)
给 master 创建 slave
创建好 master 节点,通过如下指令,指定每个 master 的 slave 节点。同样,需要加上-a。
注意,如果集群有设置密码,slave 节点的配置项要设置 masterauth,不然无法同步数据
复制代码
![](https://static001.geekbang.org/infoq/32/32e8a318d42cd7a2c56b612f3522ef5f.png)
再通过cluster nodes
查看节点,发现加入两个从节点。
![](https://static001.geekbang.org/infoq/26/262433555bec564fd36efe7b8796ae8b.png)
重复上面添加 slave 的指令,最后 9 个 redis 的集群节点如下图
![](https://static001.geekbang.org/infoq/0d/0d0009994e884e069f7c33275fc3bfa4.png)
这样 redis 服务就是启动好了
评论