s.conf
//手动提升为主库
redis-cli -a 123456 -p 7000 -c //先登录
CLUSTER FAILOVER //执行该命令
info //查询信息 可以发现成为了master
redis cluster集群增加节点和删除节点
//在上述集群基础上做增加节点
1.搭建新服务器的redis
scp -r /usr/local/bin/redis-* root@192.168.70.132:/usr/local/bin/ //复制
mkdir -p /data/cluster/7003
mkdir -p /data/cluster/8003
scp -r /data/cluster/7000/redis.conf root@192.168.70.132:/data/cluster/8003/
vim /data/cluster/8003/redis.conf //修改端口和地址
redis-server /data/cluster/7003/redis.conf //启动
2.加入集群
//在redis集群中加入一个新的主节点(在任意一台集群的节点操作即可)
redis-cli -a 123456 --cluster add-node 192.168.70.132:7003 192.168.70.133:7000
//加入从节点
redis-server /data/cluster/8003/redis.conf
redis-cli -a 123456 --cluster add-node --cluster-slave --cluster-master-id 9980d04a047fa52918bb50f7a2b7b530c138f8eb 192.168.70.132:8003 192.168.70.132:7003 //加入从节点
//加入完成后但是没有分配卡槽,不能存放数据
3.给新增的redis分配槽位(在集群的任何一个节点即可)
方法:将一个主节点的槽位移动到新主节点一部分
redis-cli -a 123456 --cluster reshard 192.168.70.133:7000
//根据提示依次输入1. 2000 (分配2000,也可自定只要在范围之内) 2.接收者id 也就是7003 node的id 3.源id也就是7000 id 4.done 5.yes
4.测试
redis-cli -a 123456 -p 7003 -c //登录
set k4 v4 //创建
//验证高可用
kill 7003的进程
redis-cli -a 123456 -p 8003 cluster nodes //可以看到8003已经成为master
redis-server /data/cluster/7003/redis.conf //恢复
5.删除节点(删除节点操作也可以在任意节点操作)
redis-cli -a 123456 --cluster del-node 对应主库的ip:端口 对应从库的id
//移除从库 8003节点
redis-cli -a 123456 --cluster del-node 192.168.70.132:7003 376c471158d25260e98d7d51764d78cdb7cad935
//移除主库 7003节点 (主节点上如果有数据则不能移除,删除之前需要把主节点的数据进行迁移)
redis-cli -a 123456 --cluster reshard 192.168.70.133:7000 //把数据还给7000 同样根据提示操作 1. 2000 2.7000 ip 3.7003 ip 4.done 5.yes
redis-cli -a 123456 --cluster del-node 指定随便其他的一个主库ip:端口 对应从库的id
redis-cli -a 123456 --cluster del-node 192.168.70.133:7000 9980d04a047fa52918bb50f7a2b7b530c138f8eb //删除节点 再查看节点会发现已成功删除