Redis Cluster集群基本操作

1.1 环境准备

1.2 配置参数

bind xx.xx.xx.xx protected-mode no port xxx daemonize yes pidfile /var/run/redis_xxx.pid logfile "./logxxx.log" requirepass <yourpassword> cluster-enabled yes cluster-node-timeout 15000 

注意:如果主节点(7000、7002、7004)配置了密码,则从节点需要配置以下参数,否则如果主节点意外宕机从节点将无法自动切换为主节点,造成集群对jedis等客户端不可用!!!

masterauth <master-password> 

2.1 首次启动

redis-cli -a password --cluster create --cluster-replicas 1 ip:7000 ip:7001 ip:7002 ip:7003 ip:7004 ip:7005

2.2 故障重启

注意:此处仅是测试环境导致集群故障后的操作,需清空数据后再重启。

3.1 扩容

1) 查看每个集群节点的node ID和身份
进入任意集群master节点:redis-cli -c -h xx.xx.xx.xx -p <port> -a password
查看节点ID:cluster nodes

2)添加master节点过程
a)redis-cli --cluster add-node ip:7001 ip:7000
注意:这里只是将节点7001加入了7000所在集群中,但是并没有分配slot,所以这个节点并没有真正的开始分担集群工作。

b)分配slot
redis-cli --cluster reshard ip:7000 --cluster-from nodeID1,nodeID2,xxx --cluster-to nodeID_7001 --cluster-slots 1024

reshard 后跟集群已有节点中的其中一个节点;
cluster-from:表示slot目前所在的节点的node ID,多个ID用逗号分隔;
cluster-to:表示需要新分配节点的node ID,即步骤a中的7001节点对应的node ID;
cluster-slots:分配的slot数量;

3)添加slave节点

redis-cli –cluster add-node ip:7001 ip:7000 –cluster-slave –cluster-master-id nodeID_7000

add-node: 后面的分别跟着新加入的slave和slave对应的master;
cluster-slave:表示加入的是slave节点;
cluster-master-id:表示slave对应的master的node ID;

3.2 收缩集群

1)下线从节点
即删除master对应的slave
redis-cli --cluster del-node 127.0.0.1:7001 nodeID_7001

del-node 后面跟着slave节点的 ip:port 和node ID

2)下线主节点
a)先清空master的slot
redis-cli --cluster reshard 127.0.0.1:7000 --cluster-from nodeID_7000 --cluster-to nodeID_target --cluster-slots 1024 --cluster-yes

reshard子命令3.1.2.b小结已介绍,这里需要注意,由于集群一共有三个主节点,而每次reshard只能写一个目的节点,因此以上命令需要执行两次(cluster-to对应不同的目的节点);
1024 这个值如何得出的:cluster nodes查看待删除节点的slot数量,再除以剩下的主节点数,目的是保证slot均匀分配到剩下的节点上;
cluster-yes:不回显需要迁移的slot,直接迁移。

b)再下线(删除)节点
redis-cli --cluster del-node 127.0.0.1:7000 nodeID_7000

至此就是redis cluster 简单的操作过程。

原文链接:https://blog.csdn.net/weixin_40815218/article/details/119064764

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/16206

(0)
上一篇 2022年11月16日
下一篇 2022年11月16日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml