ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

docker redis集群(多机,一主二从)

2022-07-04 17:04:58  阅读:145  来源: 互联网

标签:-- redis 192.168 cluster home docker data 一主二


环境

 

 三台主机,启动三个容器,可以做集群,但是只要一台挂掉,集群就失败

三台主机,启动六个容器,一台主机搭建一主一从2个容器,挂掉一个容器,从节点顶上。

1、创建目录

192.168.59.102

# mkdir -p /home/redis/node1/data

# mkdir -p /home/redis/node4/data

# mkdir -p /home/redis/node7/data

192.168.59.103
# mkdir -p /home/redis/node2/data

# mkdir -p /home/redis/node5/data

# mkdir -p /home/redis/node8/data

192.168.59.104
# mkdir -p /home/redis/node3/data

# mkdir -p /home/redis/node6/data

# mkdir -p /home/redis/node9/data

2、启动容器

192.168.59.102

#docker create --name redis1 --network=host -v /home/redis/node1/data:/data  redis --bind 192.168.59.102 --cluster-enabled yes --cluster-config-file redis-node1.conf

redis1端口默认:6379

#docker create --name redis4 --network=host  -v /home/redis/node4/data:/data  redis --bind 192.168.59.102 --cluster-enabled yes --cluster-config-file redis-node4.conf --port 6004

redis4端口:6004

#docker create --name redis7 --network=host  -v /home/redis/node7/data:/data  redis --bind 192.168.59.102 --cluster-enabled yes --cluster-config-file redis-node4.conf --port 6007

redis4端口:6007

#docker start redis1 redis4 redis7

192.168.59.103

#docker create --name redis2 --network=host -v /home/redis/node2/data:/data  redis --bind 192.168.59.103 --cluster-enabled yes --cluster-config-file redis-node2.conf

redis2端口默认:6379

#docker create --name redis5 --network=host  -v /home/redis/node5/data:/data  redis --bind 192.168.59.103 --cluster-enabled yes --cluster-config-file redis-node5.conf --port 6005

redis5端口:6005

#docker create --name redis8 --network=host  -v /home/redis/node8/data:/data  redis --bind 192.168.59.102 --cluster-enabled yes --cluster-config-file redis-node4.conf --port 6008

redis4端口:6008

#docker start redis2 redis5 redis8

192.168.59.104

#docker create --name redis3 --network=host -v /home/redis/node3/data:/data  redis --bind 192.168.59.104 --cluster-enabled yes --cluster-config-file redis-node3.conf

redis3端口默认:6379

docker create --name redis6 --network=host  -v /home/redis/node6/data:/data  redis --bind 192.168.59.104 --cluster-enabled yes --cluster-config-file redis-node6.conf --port 6006

redis6端口:6006

#docker create --name redis9 --network=host  -v /home/redis/node9/data:/data  redis --bind 192.168.59.102 --cluster-enabled yes --cluster-config-file redis-node4.conf --port 6009

redis4端口:6009

#docker start redis3  redis6 redis9

3、配置集群

进入任意一个容器

--cluster-replicas 0:0标识无从节点

--cluster-replicas 1:1标识一主一从

--cluster-replicas 2:2标识一主二从

如果实例不是3的倍数会报错,需要手动配置,这里就不说明了

 

 

# redis-cli --cluster create 192.168.59.102:6379 192.168.59.102:6004 192.168.59.102:6007 192.168.59.103:6379 192.168.59.103:6005 192.168.59.103:6008  192.168.59.104:6379 192.168.59.104:6006 192.168.59.104:6009 --cluster-replicas 2

 

验证:

关闭192.168.59.102和192.168.59.103服务器

 

集群正常,因为,主实例挂掉,从实例会升级成为新的主实例,剩下的192.168.59.104集群节点中都有一个主实例在运行

 

 

结果:

主/从节点也叫做:主/从实例,一个主实例关闭,从实例就回成为新的主实例

三个集群节点中,主/从实例必要有一个,否则集群关闭

 

 

标签:--,redis,192.168,cluster,home,docker,data,一主二
来源: https://www.cnblogs.com/leihongnu/p/16443520.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有