新建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 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
进入容器
docker exec -it redis-node-1 /bin/bash
//注意,进入docker容器后才能执行一下命令,且注意自己的真实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 表示为每个master创建一个slave节点
进入6381客户端
redic-cli -p 6381
查看节点状态
cluster info
cluster nodes
M:6381
S:6385
M:6382
S:6386
M:6383
S:6384
主从容错切换迁移案例
-
数据读写存储
启动6机构成的集群并通过exec进入
对6381新增两个key
报错,怎么办? 防止路由失效加参数-c并新增两个key
redis-cli -p 6381 -c
检查集群信息
redis-cli --cluster check 192.168.140.128:6381
-
容错切换迁移
测试:6381 停机,6385能不能上位