部署好Redis-Cluster集群,参考上个本人的博客:Redis-Cluster集群的部署(详细步骤)_是胡也是福的博客-CSDN博客
新准备一台机器,修改主机名,关闭防火墙和selinux,参考:非关系型数据库Redis的安装_是胡也是福的博客-CSDN博客
加入解析/etc/hosts
192.168.85.132 redis-cluster4 7006 7007

- [root@redis-cluster4 redis]# mkdir data #创建数据目录
- [root@redis-cluster4 redis]# mkdir cluster
- [root@redis-cluster4 redis]# mkdir cluster/{7006,7007} #创建集群节点
- [root@redis-cluster4 redis]# cp redis.conf cluster/7006/
- [root@redis-cluster4 redis]# cp redis.conf cluster/7007/

修改内容在上个集群部署的博客中
Redis-Cluster集群的部署(详细步骤)_是胡也是福的博客-CSDN博客
- [root@redis-cluster4 src]# nohup ./redis-server ../cluster/7006/redis.conf &
- [root@redis-cluster4 src]# nohup ./redis-server ../cluster/7007/redis.conf &
[root@redis-cluster4 src]# ./redis-cli --cluster add-node 192.168.85.132:7006 192.168.85.138:7004


[root@redis-cluster1 src]# ./redis-cli --cluster reshard 192.168.85.132:7006


如果要下线节点6,节点7,请务必先下线从节点,并且节点6的slot的迁移到其他节点了,如果先线下节点6的话 会发产生故障切换,节点7成主节点了。
在移除某个redis节点之前,首先不能在登入该节点当中,否则不能正常移除该节点。
- #注意:这个地方需要提一下的就是
- 如果要下线节点6,节点7,请务必先下线从节点,并且节点6的slot的迁移到其他节点了,如果先线下节点6的话 会发产生故障切换,节点7成主节点了
- 在移除某个redis节点之前,首先不能在登入该节点当中,否则不能正常移除该节点.
-
- 1.退出所有链接的客户端,然后在任意一台机器执行
- [root@redis-cluster1 src]# ./redis-cli --cluster del-node 192.168.85.132:7007 87c7e3cdf2c3d9608277d5c059b684757076a72e #该节点的id
- >>> Removing node 87c7e3cdf2c3d9608277d5c059b684757076a72e from cluster 192.168.85.132:7007
- >>> Sending CLUSTER FORGET messages to the cluster...
- >>> Sending CLUSTER RESET SOFT to the deleted node.
- [root@redis-cluster1 src]# ./redis-cli -h 192.168.85.135 -c -p 7000
- 192.168.85.135:7000> CLUSTER NODES

查看每个槽的数量
[root@redis-cluster1 src]# ./redis-cli --cluster info 192.168.85.135:7000
将6节点上面的槽迁移到其他节点
- ip+port:要移除的节点
- cluster-from:移除节点的id
- cluster-to:接受槽主节点的id,需要将4096平均移动到不同的主节点,需要写不同接受槽的主节点id
- cluster-slots:移除槽的数量(把7006的槽均给其他三个主节点7002、7003、7004)
-
- ##给7002
- [root@redis-cluster1 src]# ./redis-cli --cluster reshard 192.168.85.132:7006 --cluster-from 0c06d79a8643225a5c91e3d88c498f2b4f78f33e --cluster-to e2da0df101cc18fc25576ab652a4b37ebab4bf5b --cluster-slots 666 --cluster-yes
-
- ##给7003
- [root@redis-cluster1 src]# ./redis-cli --cluster reshard 192.168.85.132:7006 --cluster-from 0c06d79a8643225a5c91e3d88c498f2b4f78f33e --cluster-to 04932bc2c2e2697677d5e8f4827736958e3ffffe --cluster-slots 666 --cluster-yes
-
- ##给7004
- [root@redis-cluster1 src]# ./redis-cli --cluster reshard 192.168.85.132:7006 --cluster-from 0c06d79a8643225a5c91e3d88c498f2b4f78f33e --cluster-to 683e223b87ac930dfa59e5eed7172fc95b84c43e --cluster-slots 667 --cluster-yes
-
- 查看节点信息
- 192.168.85.135:7000> CLUSTER nodes
迁移完成删除该节点即可
[root@redis-cluster1 src]# ./redis-cli --cluster del-node 192.168.85.132:7006 0c06d79a8643225a5c91e3d88c498f2b4f78f33e