【云原生 | Docker 高级篇】03、搭建 Redis 3主3从集群
目錄
3主3從redis集群配置
一、新建6個docker容器redis實例
二、進(jìn)入容器redis-node-1并為6臺機(jī)器構(gòu)建集群關(guān)系
?三、鏈接進(jìn)入6381作為切入點,查看節(jié)點狀態(tài)
四、???????主從容錯切換遷移案例
1.數(shù)據(jù)讀寫存儲
2.容錯切換遷移
也可以查看這篇在CentOS上搭建:Redis 集群?
3主3從redis集群配置
一、新建6個docker容器redis實例
docker run -d --name redis-node-1 --net host --privileged=true -v /data/redis/share/redis-node-1:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6381docker run -d --name redis-node-2 --net host --privileged=true -v /data/redis/share/redis-node-2:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6382docker run -d --name redis-node-3 --net host --privileged=true -v /data/redis/share/redis-node-3:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6383docker run -d --name redis-node-4 --net host --privileged=true -v /data/redis/share/redis-node-4:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6384docker run -d --name redis-node-5 --net host --privileged=true -v /data/redis/share/redis-node-5:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6385docker run -d --name redis-node-6 --net host --privileged=true -v /data/redis/share/redis-node-6:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6386查看效果:
命令參數(shù)說明:
- docker run????????創(chuàng)建并運行docker容器實例
- --name redis-node-6????????容器名字
- --net host????????使用宿主機(jī)的IP和端口,默認(rèn)
- --privileged=true????????獲取宿主機(jī)root用戶權(quán)限
- -v /data/redis/share/redis-node-6:/data????????容器卷,宿主機(jī)地址:docker內(nèi)部地址
- redis:6.0.8????????redis鏡像和版本號
- --cluster-enabled yes????????開啟redis集群
- --appendonly yes????????開啟持久化
- --port 6386????????redis端口號
二、進(jìn)入容器redis-node-1并為6臺機(jī)器構(gòu)建集群關(guān)系
#1. 進(jìn)入容器 docker exec -it redis-node-1 /bin/bash#2. 構(gòu)建主從關(guān)系 redis-cli --cluster create 192.168.78.133:6381 192.168.78.133:6382 192.168.78.133:6383 192.168.78.133:6384 192.168.78.133:6385 192.168.78.133:6386 --cluster-replicas 1--cluster-replicas 1 表示為每個master創(chuàng)建一個slave節(jié)點,兩兩配對3主3從構(gòu)建成功:
?三、鏈接進(jìn)入6381作為切入點,查看節(jié)點狀態(tài)
四、???????主從容錯切換遷移案例
1.數(shù)據(jù)讀寫存儲
在6381寫入數(shù)據(jù),有些會報錯,這是因為在集群環(huán)境中數(shù)據(jù)自動分配哈希槽導(dǎo)致:
解決辦法:加入?yún)?shù)-c,進(jìn)入集群模式
???????查看集群信息? ? ? ? cluster check
2.容錯切換遷移
(1)主機(jī)6381和從機(jī)切換,先停止主機(jī)6381
6381主機(jī)停了,對應(yīng)的從機(jī)6386上位
6381作為1號主機(jī)分配的從機(jī)以實際情況為準(zhǔn),具體是幾號機(jī)器就是幾號
(2)重啟6381,變?yōu)閺臋C(jī)了?
(3)停止6386,讓6381上位變?yōu)閙aster
(4)恢復(fù)6368,重新變?yōu)閺臋C(jī)
以往操作說明,無論那臺宕機(jī)了,數(shù)據(jù)都不會消失。?
總結(jié)
以上是生活随笔為你收集整理的【云原生 | Docker 高级篇】03、搭建 Redis 3主3从集群的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 郝雪飞的求职简历
- 下一篇: linux cmake编译源码,linu