基于Docker搭建Redis主从集群的实现

本站所有内容来自互联网收集,仅供学习和交流,请勿用于商业用途。如有侵权、不妥之处,请第一时间联系我们删除!Q群:迪思分享
免费资源网 – https://freexyz.cn/

目录1、拉取 Redis 镜像2、创建 6 个 Redis 容器3、启动 Redis 容器4、组建 Redis 集群5、关于Redis集群搭建

最近陆陆续续有不少园友加我好友咨询 redis 集群搭建的问题,我觉得一定是之前写的这篇 《基于Docker的Redis集群搭建》 文章有问题了,所以我花了几分钟浏览之前的文章总结了下面几个问题:

redis 数量太少,只创建了 3 个实例;由于只有 3 个实例,所以全部只能是主节点,无法体现集群主从关系;如何搭建主从集群?如何分配从节点?

基于之前的文章,我想快速的过一下这几个问题,本文基于 Docker Redis 5.0.5 版本,通过 cluster 方式创建一个 6 个 redis 实例的主从集群,当然文章会指出相应的参数说明,这样即便是创建 9 个实例的集群方式也是一样的。

1、拉取 Redis 镜像

基于 Redis:5.0.5 版本,执行如下指令:

docker pull redis:5.0.5

2、创建 6 个 Redis 容器

创建 6 个Redis 容器:

redis-node1:6379
redis-node2:6380
redis-node3:6381
redis-node4:6382
redis-node5:6383
redis-node6:6384

执行命令如下:

docker create –name redis-node1 –net host -v /data/redis-data/node1:/data redis:5.0.5 –cluster-enabled yes –cluster-config-file nodes-node-1.conf –port 6379

docker create –name redis-node2 –net host -v /data/redis-data/node2:/data redis:5.0.5 –cluster-enabled yes –cluster-config-file nodes-node-2.conf –port 6380

docker create –name redis-node3 –net host -v /data/redis-data/node3:/data redis:5.0.5 –cluster-enabled yes –cluster-config-file nodes-node-3.conf –port 6381

docker create –name redis-node4 –net host -v /data/redis-data/node4:/data redis:5.0.5 –cluster-enabled yes –cluster-config-file nodes-node-4.conf –port 6382

docker create –name redis-node5 –net host -v /data/redis-data/node5:/data redis:5.0.5 –cluster-enabled yes –cluster-config-file nodes-node-5.conf –port 6383

docker create –name redis-node6 –net host -v /data/redis-data/node6:/data redis:5.0.5 –cluster-enabled yes –cluster-config-file nodes-node-6.conf –port 6384

部分参数解释:

–cluster-enabled:是否启动集群,选值:yes 、no
–cluster-config-file 配置文件.conf :指定节点信息,自动生成
–cluster-node-timeout 毫秒值: 配置节点连接超时时间
–appendonly:是否开启持久化,选值:yes、no

执行命令截图:

基于Docker搭建Redis主从集群的实现插图

3、启动 Redis 容器

执行命令如下:

docker start redis-node1 redis-node2 redis-node3 redis-node4 redis-node5 redis-node6

启动截图如下:

基于Docker搭建Redis主从集群的实现插图1

4、组建 Redis 集群

进入任意一个 Redis 实例:

# 这里以 redis-node1 实例为例
docker exec -it redis-node1 /bin/bash

执行组件集群的命令:

# 组建集群,10.211.55.4为当前物理机的ip地址
redis-cli –cluster create 10.211.55.4:6379 10.211.55.4:6380 10.211.55.4:6381 10.211.55.4:6382 10.211.55.4:6383 10.211.55.4:6384 –cluster-replicas 1

执行命令截图如下:

基于Docker搭建Redis主从集群的实现插图2

创建成功后,通过 redis-cli 查看一下集群节点信息:

root@CentOS7:/data# redis-cli
127.0.0.1:6379


© 版权声明
THE END
★喜欢这篇文章吗?喜欢的话,麻烦动动手指支持一下!★
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容