
image.png
新建6個(gè)docker容器redis實(shí)例
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 6381
docker 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 6382
docker 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 6383
docker 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 6384
docker 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 6385
docker 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

image.png
進(jìn)入容器
docker exec -it redis-node-1 /bin/bash
//注意,進(jìn)入docker容器后才能執(zhí)行一下命令,且注意自己的真實(shí)IP地址
redis-cli --cluster create 192.168.140.128:6381 192.168.140.128:6382 192.168.140.128:6383 192.168.140.128:6384 192.168.140.128:6385 192.168.140.128:6386 --cluster-replicas 1
--cluster-replicas 1 表示為每個(gè)master創(chuàng)建一個(gè)slave節(jié)點(diǎn)

image.png
進(jìn)入6381客戶端
redic-cli -p 6381
查看節(jié)點(diǎn)狀態(tài)
cluster info
cluster nodes
M:6381
S:6385
M:6382
S:6386
M:6383
S:6384
主從容錯(cuò)切換遷移案例
-
數(shù)據(jù)讀寫存儲(chǔ)
啟動(dòng)6機(jī)構(gòu)成的集群并通過(guò)exec進(jìn)入
對(duì)6381新增兩個(gè)key
image.png
報(bào)錯(cuò),怎么辦? 防止路由失效加參數(shù)-c并新增兩個(gè)key
redis-cli -p 6381 -c

image.png
檢查集群信息
redis-cli --cluster check 192.168.140.128:6381
-
容錯(cuò)切換遷移
測(cè)試:6381 停機(jī),6385能不能上位
image.png

