标签:cli cluster Redis redis 6379 && 移除 root 节点
1. 新准备166和167两台机器,启动redis服务
1.1 安装redis6.0参考 第 4 篇 : 1主2从
1.2 配置集群redis参考 第 6 篇 : 3主3从
2. 新增166主节点和167从节点
加入集群时,新节点必须无任何数据
2.1 在166机器上操作,配置166节点
进入redis的安装目录,执行如下命令
密码 增加的新节点IP:port 集群中的节点IP:port
redis-cli -a root --cluster add-node 192.168.109.166:6379 192.168.109.160:6379
(可选操作)查看当前节点slots,0 slots
redis-cli -a root --cluster check 192.168.109.166:6379
为当前节点分配slots,这里的数量可以随便写,但 rebalance 必须做
redis-cli -a root --cluster reshard 192.168.109.166:6379
此处输入的肯定是需要接收的节点ID,属于 IN 操作
此处输入all,说明是从所有节点中抽出4096个slots给166,属于 OUT 操作,也可以输入指定的ID(例如160或161或162的ID),可以输入多个,最后输入done结束
总结 : 如果是新增主节点,输入all即可 ; 如果是移除主节点,需要输入移除的节点ID,再次输入done结束
(必做)查看当前集群负载情况,权重大于2%会继续平衡slots
redis-cli -a root --cluster rebalance 192.168.109.160:6379
(可选)再次执行上述命令,集群已达到负载均衡
再次查看166节点slots
redis-cli -a root --cluster check 192.168.109.166:6379
2.1 在167机器上操作,配置167节点
加入集群并进入redis客户端
redis-cli -a root --cluster add-node 192.168.109.167:6379 192.168.109.160:6379
redis-cli -a root
进入客户端后,cluster replicate 主节点ID
cluster replicate c2cb6942ab03e942a2cdb33692104ad72aa648f7
info replication
3. 移除166主节点和167从节点
3.1 在167机器上移除从节点167
查看当前节点的ID
redis-cli -a root
cluster nodes
exit
退出客户端后,执行如下命令移除该节点
需要移除的节点IP:port 需要移除的节点ID
redis-cli -a root --cluster del-node 192.168.109.167:6379 f993985f23183704f72071d567a923ca9a18795f
虽然该节点从集群中移除.但服务不会停止,角色也变成了master
关闭redis服务,并移除167虚拟机
redis-cli -a root -p 6379 shutdown
3.2 在在166机器上移除主节点166
重新分片主节点的slots
redis-cli -a root --cluster reshard 192.168.109.166:6379
yes
查看166节点slots,0 slots,161是8192 slots
redis-cli -a root --cluster check 192.168.109.166:6379
(必做)负载均衡当前集群
redis-cli -a root --cluster rebalance 192.168.109.160:6379
redis-cli -a root --cluster check 192.168.109.166:6379
此时,可以移除主节点166
redis-cli -a root --cluster del-node 192.168.109.166:6379 c2cb6942ab03e942a2cdb33692104ad72aa648f7
redis-cli -a root --cluster check 192.168.109.160:6379
关闭redis服务,并移除166虚拟机
redis-cli -a root -p 6379 shutdown
标签:cli,cluster,Redis,redis,6379,&&,移除,root,节点 来源: https://blog.csdn.net/qiezi__/article/details/121283349
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。