首页 > 数据库 >redis集群增加减少节点

redis集群增加减少节点

时间:2024-09-27 14:34:39浏览次数:6  
标签:8101 redis 集群 0.87 172.17 master slots 0.88 节点

redis集群故障切换方案

步骤:

1、增加临时节点并加入集群

2、将故障节点槽位移动到新节点

3、剔除故障节点

4、备份故障节点配置下架更换

5、更换后按照1-3步骤将临时节点剔除,将原故障节点重新加入集群

#测试环境为3主3从,有5个key
redis-cli -c -p 8102 -h 172.17.0.89 -a 123456 dbsize
(integer) 2
redis-cli -c -p 8101 -h 172.17.0.87 -a 123456 dbsize
(integer) 2
redis-cli -c -p 8101 -h 172.17.0.89 -a 123456 dbsize
(integer) 1
redis-cli -c -p 8102 -h 172.17.0.88 -a 123456 dbsize
(integer) 2
redis-cli -c -p 8102 -h 172.17.0.87 -a 123456 dbsize
(integer) 2
redis-cli -c -p 8103 -h 172.17.0.87 -a 123456 dbsize
(integer) 1
#查看集群节点,3主3从
[root@redis01 app]# redis-cli -c -p 8101 -a 123456 cluster nodes
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
3ee0b618a655d290d2c0635ee49a43eaca51fa3c 172.17.0.89:8102@18102 slave 7816dceab3956b4bf54e65ee1fa34ecc44a586e4 0 1703246497000 3 connected
59a58723820506401d245611e9d58d5e709c5197 172.17.0.87:8101@18101 myself,master - 0 1703246499000 1 connected 0-5460
1f57753a61aea6cfc9c6c39392dc476f9f06cb88 172.17.0.89:8101@18101 master - 0 1703246500011 5 connected 10923-16383
fd1904a404ebd407b5dfcef0fd82591880fa11c6 172.17.0.88:8102@18102 slave 59a58723820506401d245611e9d58d5e709c5197 0 1703246497000 1 connected
7816dceab3956b4bf54e65ee1fa34ecc44a586e4 172.17.0.88:8101@18101 master - 0 1703246498000 3 connected 5461-10922
4ea726fb15d855361e6d4c3464dd25293017b46b 172.17.0.87:8102@18102 slave 1f57753a61aea6cfc9c6c39392dc476f9f06cb88 0 1703246499003 5 connected

#将临时主节点加入集群
#172.17.0.87:8103为新节点,172.17.0.87:8101 -a 123456 为集群存活节点及密码
[root@redis01 app]# redis-cli --cluster add-node  172.17.0.87:8103  172.17.0.87:8101 -a 123456 
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
>>> Adding node 172.17.0.87:8103 to cluster 172.17.0.87:8101
>>> Performing Cluster Check (using node 172.17.0.87:8101)
M: 59a58723820506401d245611e9d58d5e709c5197 172.17.0.87:8101
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
S: 3ee0b618a655d290d2c0635ee49a43eaca51fa3c 172.17.0.89:8102
   slots: (0 slots) slave
   replicates 7816dceab3956b4bf54e65ee1fa34ecc44a586e4
M: 1f57753a61aea6cfc9c6c39392dc476f9f06cb88 172.17.0.89:8101
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
S: fd1904a404ebd407b5dfcef0fd82591880fa11c6 172.17.0.88:8102
   slots: (0 slots) slave
   replicates 59a58723820506401d245611e9d58d5e709c5197
M: 7816dceab3956b4bf54e65ee1fa34ecc44a586e4 172.17.0.88:8101
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
S: 4ea726fb15d855361e6d4c3464dd25293017b46b 172.17.0.87:8102
   slots: (0 slots) slave
   replicates 1f57753a61aea6cfc9c6c39392dc476f9f06cb88
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
>>> Send CLUSTER MEET to node 172.17.0.87:8103 to make it join the cluster.
[OK] New node added correctly.
#先查看新的主节点ID
[root@redis01 app]# redis-cli -c -p 8101 -a 123456 cluster nodes
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
3ee0b618a655d290d2c0635ee49a43eaca51fa3c 172.17.0.89:8102@18102 slave 7816dceab3956b4bf54e65ee1fa34ecc44a586e4 0 1703246709000 3 connected
59a58723820506401d245611e9d58d5e709c5197 172.17.0.87:8101@18101 myself,master - 0 1703246706000 1 connected 0-5460
1f57753a61aea6cfc9c6c39392dc476f9f06cb88 172.17.0.89:8101@18101 master - 0 1703246709576 5 connected 10923-16383
fd1904a404ebd407b5dfcef0fd82591880fa11c6 172.17.0.88:8102@18102 slave 59a58723820506401d245611e9d58d5e709c5197 0 1703246708571 1 connected
7816dceab3956b4bf54e65ee1fa34ecc44a586e4 172.17.0.88:8101@18101 master - 0 1703246707564 3 connected 5461-10922
4ea726fb15d855361e6d4c3464dd25293017b46b 172.17.0.87:8102@18102 slave 1f57753a61aea6cfc9c6c39392dc476f9f06cb88 0 1703246707000 5 connected
8701b02f167d8a36dc4861a3af9a4ba047234332 172.17.0.87:8103@18103 master - 0 1703246708000 0 connected
#将从节点加入集群:
[root@redis01 app]# redis-cli --cluster add-node --cluster-slave --cluster-master-id 8701b02f167d8a36dc4861a3af9a4ba047234332  172.17.0.88:8103 172.17.0.87:8101 -a 123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
>>> Adding node 172.17.0.88:8103 to cluster 172.17.0.87:8101
>>> Performing Cluster Check (using node 172.17.0.87:8101)
M: 59a58723820506401d245611e9d58d5e709c5197 172.17.0.87:8101
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
S: 3ee0b618a655d290d2c0635ee49a43eaca51fa3c 172.17.0.89:8102
   slots: (0 slots) slave
   replicates 7816dceab3956b4bf54e65ee1fa34ecc44a586e4
M: 1f57753a61aea6cfc9c6c39392dc476f9f06cb88 172.17.0.89:8101
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
S: fd1904a404ebd407b5dfcef0fd82591880fa11c6 172.17.0.88:8102
   slots: (0 slots) slave
   replicates 59a58723820506401d245611e9d58d5e709c5197
M: 7816dceab3956b4bf54e65ee1fa34ecc44a586e4 172.17.0.88:8101
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
S: 4ea726fb15d855361e6d4c3464dd25293017b46b 172.17.0.87:8102
   slots: (0 slots) slave
   replicates 1f57753a61aea6cfc9c6c39392dc476f9f06cb88
M: 8701b02f167d8a36dc4861a3af9a4ba047234332 172.17.0.87:8103
   slots: (0 slots) master
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
>>> Send CLUSTER MEET to node 172.17.0.88:8103 to make it join the cluster.
Waiting for the cluster to join

>>> Configure node as replica of 172.17.0.87:8103.
[OK] New node added correctly.

#此处模拟标黄节点为故障节点
dc6697770175a41f58c67451665fb351385c2134 172.17.0.88:8103@18103 slave 8701b02f167d8a36dc4861a3af9a4ba047234332 0 1703247320897 0 connected
3ee0b618a655d290d2c0635ee49a43eaca51fa3c 172.17.0.89:8102@18102 slave 7816dceab3956b4bf54e65ee1fa34ecc44a586e4 0 1703247316866 3 connected
59a58723820506401d245611e9d58d5e709c5197 172.17.0.87:8101@18101 myself,master - 0 1703247318000 1 connected 0-5460
1f57753a61aea6cfc9c6c39392dc476f9f06cb88 172.17.0.89:8101@18101 slave 4ea726fb15d855361e6d4c3464dd25293017b46b 0 1703247315860 7 connected
fd1904a404ebd407b5dfcef0fd82591880fa11c6 172.17.0.88:8102@18102 slave 59a58723820506401d245611e9d58d5e709c5197 0 1703247319000 1 connected
7816dceab3956b4bf54e65ee1fa34ecc44a586e4 172.17.0.88:8101@18101 master - 0 1703247317873 3 connected 5461-10922
4ea726fb15d855361e6d4c3464dd25293017b46b 172.17.0.87:8102@18102 master - 0 1703247318883 7 connected 10923-16383
8701b02f167d8a36dc4861a3af9a4ba047234332 172.17.0.87:8103@18103 master - 0 1703247319892 0 connected
#将故障主节点槽位移动到新节点
[root@redis01 app]# redis-cli --cluster reshard 172.17.0.87 8101 7816dceab3956b4bf54e65ee1fa34ecc44a586e4 -a 123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
>>> Performing Cluster Check (using node 172.17.0.87:8101)
M: 59a58723820506401d245611e9d58d5e709c5197 172.17.0.87:8101
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
S: dc6697770175a41f58c67451665fb351385c2134 172.17.0.88:8103
   slots: (0 slots) slave
   replicates 8701b02f167d8a36dc4861a3af9a4ba047234332
S: 3ee0b618a655d290d2c0635ee49a43eaca51fa3c 172.17.0.89:8102
   slots: (0 slots) slave
   replicates 7816dceab3956b4bf54e65ee1fa34ecc44a586e4
S: 1f57753a61aea6cfc9c6c39392dc476f9f06cb88 172.17.0.89:8101
   slots: (0 slots) slave
   replicates 4ea726fb15d855361e6d4c3464dd25293017b46b
S: fd1904a404ebd407b5dfcef0fd82591880fa11c6 172.17.0.88:8102
   slots: (0 slots) slave
   replicates 59a58723820506401d245611e9d58d5e709c5197
M: 7816dceab3956b4bf54e65ee1fa34ecc44a586e4 172.17.0.88:8101
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
M: 4ea726fb15d855361e6d4c3464dd25293017b46b 172.17.0.87:8102
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
M: 8701b02f167d8a36dc4861a3af9a4ba047234332 172.17.0.87:8103
   slots: (0 slots) master
   1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
How many slots do you want to move (from 1 to 16384)? 5462   #要移动的槽位数
What is the receiving node ID? 8701b02f167d8a36dc4861a3af9a4ba047234332   #接收槽位的节点,为新加入的主节点
Please enter all the source node IDs.
  Type 'all' to use all the nodes as source nodes for the hash slots.
  Type 'done' once you entered all the source nodes IDs.
Source node #1: 7816dceab3956b4bf54e65ee1fa34ecc44a586e4    #要移出槽位的节点,为故障节点
Source node #2: done    #可以选择多个节点,输入done结束输入
#以下为弹出的预览
Ready to move 5462 slots.
  Source nodes:
    M: 7816dceab3956b4bf54e65ee1fa34ecc44a586e4 172.17.0.88:8101
       slots:[5461-10922] (5462 slots) master
       1 additional replica(s)
  Destination node:
    M: 8701b02f167d8a36dc4861a3af9a4ba047234332 172.17.0.87:8103
       slots: (0 slots) master
       1 additional replica(s)
  Resharding plan:
    Moving slot 5461 from 7816dceab3956b4bf54e65ee1fa34ecc44a586e4
    Moving slot 5462 from 7816dceab3956b4bf54e65ee1fa34ecc44a586e4
    Moving slot 5463 from 7816dceab3956b4bf54e65ee1fa34ecc44a586e4
Moving slot 5464 from 7816dceab3956b4bf54e65ee1fa34ecc44a586e4
……
    Moving slot 10921 from 7816dceab3956b4bf54e65ee1fa34ecc44a586e4
    Moving slot 10922 from 7816dceab3956b4bf54e65ee1fa34ecc44a586e4
Do you want to proceed with the proposed reshard plan (yes/no)? yes    #是否确定该迁移方案并开始迁移,输入yes

#查看故障节点槽位情况,故障主节点槽位已移动到新的主节点
[root@redis01 app]# redis-cli -c -p 8101 -a 123456 cluster nodes
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
dc6697770175a41f58c67451665fb351385c2134 172.17.0.88:8103@18103 slave 8701b02f167d8a36dc4861a3af9a4ba047234332 0 1703247663000 8 connected
3ee0b618a655d290d2c0635ee49a43eaca51fa3c 172.17.0.89:8102@18102 slave 8701b02f167d8a36dc4861a3af9a4ba047234332 0 1703247663000 8 connected
59a58723820506401d245611e9d58d5e709c5197 172.17.0.87:8101@18101 myself,master - 0 1703247664000 1 connected 0-5460
1f57753a61aea6cfc9c6c39392dc476f9f06cb88 172.17.0.89:8101@18101 slave 4ea726fb15d855361e6d4c3464dd25293017b46b 0 1703247666607 7 connected
fd1904a404ebd407b5dfcef0fd82591880fa11c6 172.17.0.88:8102@18102 slave 59a58723820506401d245611e9d58d5e709c5197 0 1703247666000 1 connected
7816dceab3956b4bf54e65ee1fa34ecc44a586e4 172.17.0.88:8101@18101 master - 0 1703247667613 3 connected
4ea726fb15d855361e6d4c3464dd25293017b46b 172.17.0.87:8102@18102 master - 0 1703247665000 7 connected 10923-16383
8701b02f167d8a36dc4861a3af9a4ba047234332 172.17.0.87:8103@18103 master - 0 1703247666000 8 connected 5461-10922

#剔除故障主节点
[root@redis01 app]# redis-cli --cluster del-node 172.17.0.87:8101 7816dceab3956b4bf54e65ee1fa34ecc44a586e4 -a 123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
>>> Removing node 7816dceab3956b4bf54e65ee1fa34ecc44a586e4 from cluster 172.17.0.87:8101
>>> Sending CLUSTER FORGET messages to the cluster...
>>> Sending CLUSTER RESET SOFT to the deleted node.
#剔除故障从节点
[root@redis01 app]# redis-cli --cluster del-node 172.17.0.87:8101 dc6697770175a41f58c67451665fb351385c2134 -a 123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
>>> Removing node dc6697770175a41f58c67451665fb351385c2134 from cluster 172.17.0.87:8101
>>> Sending CLUSTER FORGET messages to the cluster...
>>> Sending CLUSTER RESET SOFT to the deleted node.

#查看集群节点,仍为3主3从且槽位分配均匀
[root@redis01 app]# redis-cli -c -p 8101 -a 123456 cluster nodes
3ee0b618a655d290d2c0635ee49a43eaca51fa3c 172.17.0.89:8102@18102 slave 8701b02f167d8a36dc4861a3af9a4ba047234332 0 1703248083000 8 connected
59a58723820506401d245611e9d58d5e709c5197 172.17.0.87:8101@18101 myself,master - 0 1703248083000 1 connected 0-5460
1f57753a61aea6cfc9c6c39392dc476f9f06cb88 172.17.0.89:8101@18101 slave 4ea726fb15d855361e6d4c3464dd25293017b46b 0 1703248082000 7 connected
fd1904a404ebd407b5dfcef0fd82591880fa11c6 172.17.0.88:8102@18102 slave 59a58723820506401d245611e9d58d5e709c5197 0 1703248084693 1 connected
4ea726fb15d855361e6d4c3464dd25293017b46b 172.17.0.87:8102@18102 master - 0 1703248082000 7 connected 10923-16383
8701b02f167d8a36dc4861a3af9a4ba047234332 172.17.0.87:8103@18103 master - 0 1703248083685 8 connected 5461-10922
#查看key数量确认无数据丢失
redis-cli -c -p 8103 -h 172.17.0.87 -a 123456 dbsize
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
(integer) 1
[root@redis01 app]# redis-cli -c -p 8101 -h 172.17.0.87 -a 123456 dbsize
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
(integer) 2
[root@redis01 app]# redis-cli -c -p 8101 -h 172.17.0.89 -a 123456 dbsize
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
(integer) 2
[root@redis01 app]# redis-cli -c -p 8102 -h 172.17.0.88 -a 123456 dbsize
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
(integer) 2
[root@redis01 app]# redis-cli -c -p 8102 -h 172.17.0.87 -a 123456 dbsize
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
(integer) 2
[root@redis01 app]# redis-cli -c -p 8103 -h 172.17.0.87 -a 123456 dbsize
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
(integer) 1

#扩展,如槽位分配不均可以使用以下方式重新分配槽位
redis-cli --cluster rebalance --cluster-threshold 1 --cluster-use-empty-masters 172.17.0.87:8101 -a 123456

节点扩容:

步骤:

1、节点规划

节点 端口 备注

172.17.0.87 8101 原节点

172.17.0.87 8102 原节点

172.17.0.88 8101 原节点

172.17.0.88 8102 原节点

172.17.0.89 8101 原节点

172.17.0.89 8102 原节点

172.17.0.87 8103 新主节点

172.17.0.87 8104 89:8103从节点

172.17.0.88 8103 新主节点

172.17.0.88 8104 87:8103从节点

172.17.0.89 8103 新主节点

172.17.0.89 8104 88:8103从节点

2、主节点加入集群
redis-cli --cluster add-node  172.17.0.87:8103  172.17.0.87:8101 -a 123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
>>> Adding node 172.17.0.87:8103 to cluster 172.17.0.87:8101
>>> Performing Cluster Check (using node 172.17.0.87:8101)
M: 0995bca9e3d1f499223881ced1adf669cc7e3f14 172.17.0.87:8101
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
S: bb5cef83bf6343313b36769447d18c643d78b098 172.17.0.88:8102
   slots: (0 slots) slave
   replicates 0995bca9e3d1f499223881ced1adf669cc7e3f14
S: e7f39b79ad1f9064c6d77528d639178f9ded0394 172.17.0.87:8102
   slots: (0 slots) slave
   replicates 5c1a9c61d3497d2ce9ee61893c25d6cdfdf8cd2b
S: 66cbe4edea1880e0b0edb907f862ee655b765254 172.17.0.89:8102
   slots: (0 slots) slave
   replicates a815c482e0c7d9178096b747c0692460c5d0a011
M: 5c1a9c61d3497d2ce9ee61893c25d6cdfdf8cd2b 172.17.0.89:8101
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
M: a815c482e0c7d9178096b747c0692460c5d0a011 172.17.0.88:8101
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
>>> Send CLUSTER MEET to node 172.17.0.87:8103 to make it join the cluster.
[OK] New node added correctly.

redis-cli --cluster add-node  172.17.0.88:8103  172.17.0.87:8101 -a 123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
>>> Adding node 172.17.0.88:8103 to cluster 172.17.0.87:8101
>>> Performing Cluster Check (using node 172.17.0.87:8101)
M: 0995bca9e3d1f499223881ced1adf669cc7e3f14 172.17.0.87:8101
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
S: bb5cef83bf6343313b36769447d18c643d78b098 172.17.0.88:8102
   slots: (0 slots) slave
   replicates 0995bca9e3d1f499223881ced1adf669cc7e3f14
S: e7f39b79ad1f9064c6d77528d639178f9ded0394 172.17.0.87:8102
   slots: (0 slots) slave
   replicates 5c1a9c61d3497d2ce9ee61893c25d6cdfdf8cd2b
M: e4bb38859fb394821a86f8facbd09d40a71f7d90 172.17.0.87:8103
   slots: (0 slots) master
S: 66cbe4edea1880e0b0edb907f862ee655b765254 172.17.0.89:8102
   slots: (0 slots) slave
   replicates a815c482e0c7d9178096b747c0692460c5d0a011
M: 5c1a9c61d3497d2ce9ee61893c25d6cdfdf8cd2b 172.17.0.89:8101
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
M: a815c482e0c7d9178096b747c0692460c5d0a011 172.17.0.88:8101
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
>>> Send CLUSTER MEET to node 172.17.0.88:8103 to make it join the cluster.
[OK] New node added correctly.

redis-cli --cluster add-node  172.17.0.89:8103  172.17.0.87:8101 -a 123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
>>> Adding node 172.17.0.89:8103 to cluster 172.17.0.87:8101
>>> Performing Cluster Check (using node 172.17.0.87:8101)
M: 0995bca9e3d1f499223881ced1adf669cc7e3f14 172.17.0.87:8101
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
S: bb5cef83bf6343313b36769447d18c643d78b098 172.17.0.88:8102
   slots: (0 slots) slave
   replicates 0995bca9e3d1f499223881ced1adf669cc7e3f14
S: e7f39b79ad1f9064c6d77528d639178f9ded0394 172.17.0.87:8102
   slots: (0 slots) slave
   replicates 5c1a9c61d3497d2ce9ee61893c25d6cdfdf8cd2b
M: e4bb38859fb394821a86f8facbd09d40a71f7d90 172.17.0.87:8103
   slots: (0 slots) master
S: 66cbe4edea1880e0b0edb907f862ee655b765254 172.17.0.89:8102
   slots: (0 slots) slave
   replicates a815c482e0c7d9178096b747c0692460c5d0a011
M: 5c1a9c61d3497d2ce9ee61893c25d6cdfdf8cd2b 172.17.0.89:8101
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
M: a815c482e0c7d9178096b747c0692460c5d0a011 172.17.0.88:8101
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
M: 7ad94073f481375394303613e357987c73c0b031 172.17.0.88:8103
   slots: (0 slots) master
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
>>> Send CLUSTER MEET to node 172.17.0.89:8103 to make it join the cluster.
[OK] New node added correctly.


3、给新加入的主节点分配槽位
#重新分配前槽位,新加入的主节点没有分配到槽位
5c1a9c61d3497d2ce9ee61893c25d6cdfdf8cd2b 172.17.0.89:8101@18101 master - 0 1727315393000 5 connected 10923-16383
66cbe4edea1880e0b0edb907f862ee655b765254 172.17.0.89:8102@18102 slave a815c482e0c7d9178096b747c0692460c5d0a011 0 1727315392000 3 connected
e4bb38859fb394821a86f8facbd09d40a71f7d90 172.17.0.87:8103@18103 master - 0 1727315393000 0 connected
bb5cef83bf6343313b36769447d18c643d78b098 172.17.0.88:8102@18102 slave 0995bca9e3d1f499223881ced1adf669cc7e3f14 0 1727315390000 1 connected
a815c482e0c7d9178096b747c0692460c5d0a011 172.17.0.88:8101@18101 master - 0 1727315390000 3 connected 5461-10922
7ad94073f481375394303613e357987c73c0b031 172.17.0.88:8103@18103 master - 0 1727315391964 8 connected
05d19743bf4653f9687a58b7ebda41026c8bd852 172.17.0.89:8103@18103 master - 0 1727315393976 9 connected
e7f39b79ad1f9064c6d77528d639178f9ded0394 172.17.0.87:8102@18102 myself,slave 5c1a9c61d3497d2ce9ee61893c25d6cdfdf8cd2b 0 1727315390000 5 connected
0995bca9e3d1f499223881ced1adf669cc7e3f14 172.17.0.87:8101@18101 master - 0 1727315393874 1 connected 0-5460
#重新分配槽位
redis-cli --cluster rebalance --cluster-threshold 1 --cluster-use-empty-masters 172.17.0.87:8101 -a 123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
>>> Performing Cluster Check (using node 172.17.0.87:8101)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
>>> Rebalancing across 6 nodes. Total weight = 6.00
Moving 2732 slots from 172.17.0.88:8101 to 172.17.0.89:8103
############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
Moving 2731 slots from 172.17.0.89:8101 to 172.17.0.88:8103
###########################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
Moving 2731 slots from 172.17.0.87:8101 to 172.17.0.87:8103
###########################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################

#重新分配后槽位
redis-cli -c -h 172.17.0.87 -p 8102 -a 123456 cluster nodes
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
5c1a9c61d3497d2ce9ee61893c25d6cdfdf8cd2b 172.17.0.89:8101@18101 master - 0 1727316076577 5 connected 13654-16383
66cbe4edea1880e0b0edb907f862ee655b765254 172.17.0.89:8102@18102 slave a815c482e0c7d9178096b747c0692460c5d0a011 0 1727316079597 3 connected
e4bb38859fb394821a86f8facbd09d40a71f7d90 172.17.0.87:8103@18103 master - 0 1727316077583 11 connected 0-2730
bb5cef83bf6343313b36769447d18c643d78b098 172.17.0.88:8102@18102 slave 0995bca9e3d1f499223881ced1adf669cc7e3f14 0 1727316076000 1 connected
a815c482e0c7d9178096b747c0692460c5d0a011 172.17.0.88:8101@18101 master - 0 1727316077584 3 connected 8193-10922
7ad94073f481375394303613e357987c73c0b031 172.17.0.88:8103@18103 master - 0 1727316077000 10 connected 10923-13653
05d19743bf4653f9687a58b7ebda41026c8bd852 172.17.0.89:8103@18103 master - 0 1727316076000 9 connected 5461-8192
e7f39b79ad1f9064c6d77528d639178f9ded0394 172.17.0.87:8102@18102 myself,slave 5c1a9c61d3497d2ce9ee61893c25d6cdfdf8cd2b 0 1727316077000 5 connected
0995bca9e3d1f499223881ced1adf669cc7e3f14 172.17.0.87:8101@18101 master - 0 1727316078590 1 connected 2731-5460

4、新的从节点加入
从节点加入:
redis-cli --cluster add-node --cluster-slave --cluster-master-id e4bb38859fb394821a86f8facbd09d40a71f7d90  172.17.0.88:8104 172.17.0.87:8101 -a 123456
>>> Adding node 172.17.0.88:8104 to cluster 172.17.0.87:8101
>>> Performing Cluster Check (using node 172.17.0.87:8101)
M: 0995bca9e3d1f499223881ced1adf669cc7e3f14 172.17.0.87:8101
   slots:[2731-5460] (2730 slots) master
   1 additional replica(s)
M: 05d19743bf4653f9687a58b7ebda41026c8bd852 172.17.0.89:8103
   slots:[5461-8192] (2732 slots) master
S: bb5cef83bf6343313b36769447d18c643d78b098 172.17.0.88:8102
   slots: (0 slots) slave
   replicates 0995bca9e3d1f499223881ced1adf669cc7e3f14
M: 5c1a9c61d3497d2ce9ee61893c25d6cdfdf8cd2b 172.17.0.89:8101
   slots:[13654-16383] (2730 slots) master
   1 additional replica(s)
M: 7ad94073f481375394303613e357987c73c0b031 172.17.0.88:8103
   slots:[10923-13653] (2731 slots) master
S: e7f39b79ad1f9064c6d77528d639178f9ded0394 172.17.0.87:8102
   slots: (0 slots) slave
   replicates 5c1a9c61d3497d2ce9ee61893c25d6cdfdf8cd2b
M: e4bb38859fb394821a86f8facbd09d40a71f7d90 172.17.0.87:8103
   slots:[0-2730] (2731 slots) master
M: a815c482e0c7d9178096b747c0692460c5d0a011 172.17.0.88:8101
   slots:[8193-10922] (2730 slots) master
   1 additional replica(s)
S: 66cbe4edea1880e0b0edb907f862ee655b765254 172.17.0.89:8102
   slots: (0 slots) slave
   replicates a815c482e0c7d9178096b747c0692460c5d0a011
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
>>> Send CLUSTER MEET to node 172.17.0.88:8104 to make it join the cluster.
Waiting for the cluster to join

>>> Configure node as replica of 172.17.0.87:8103.
[OK] New node added correctly.


redis-cli --cluster add-node --cluster-slave --cluster-master-id 7ad94073f481375394303613e357987c73c0b031  172.17.0.89:8104 172.17.0.87:8101 -a 123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
>>> Adding node 172.17.0.89:8104 to cluster 172.17.0.87:8101
>>> Performing Cluster Check (using node 172.17.0.87:8101)
M: 0995bca9e3d1f499223881ced1adf669cc7e3f14 172.17.0.87:8101
   slots:[2731-5460] (2730 slots) master
   1 additional replica(s)
M: 05d19743bf4653f9687a58b7ebda41026c8bd852 172.17.0.89:8103
   slots:[5461-8192] (2732 slots) master
S: bb5cef83bf6343313b36769447d18c643d78b098 172.17.0.88:8102
   slots: (0 slots) slave
   replicates 0995bca9e3d1f499223881ced1adf669cc7e3f14
M: 5c1a9c61d3497d2ce9ee61893c25d6cdfdf8cd2b 172.17.0.89:8101
   slots:[13654-16383] (2730 slots) master
   1 additional replica(s)
M: 7ad94073f481375394303613e357987c73c0b031 172.17.0.88:8103
   slots:[10923-13653] (2731 slots) master
S: e7f39b79ad1f9064c6d77528d639178f9ded0394 172.17.0.87:8102
   slots: (0 slots) slave
   replicates 5c1a9c61d3497d2ce9ee61893c25d6cdfdf8cd2b
S: 660c6be2e33b069b3cd5b967c0c55edececb22d5 172.17.0.88:8104
   slots: (0 slots) slave
   replicates e4bb38859fb394821a86f8facbd09d40a71f7d90
M: e4bb38859fb394821a86f8facbd09d40a71f7d90 172.17.0.87:8103
   slots:[0-2730] (2731 slots) master
   1 additional replica(s)
M: a815c482e0c7d9178096b747c0692460c5d0a011 172.17.0.88:8101
   slots:[8193-10922] (2730 slots) master
   1 additional replica(s)
S: 66cbe4edea1880e0b0edb907f862ee655b765254 172.17.0.89:8102
   slots: (0 slots) slave
   replicates a815c482e0c7d9178096b747c0692460c5d0a011
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
>>> Send CLUSTER MEET to node 172.17.0.89:8104 to make it join the cluster.
Waiting for the cluster to join

>>> Configure node as replica of 172.17.0.88:8103.
[OK] New node added correctly.

redis-cli --cluster add-node --cluster-slave --cluster-master-id 05d19743bf4653f9687a58b7ebda41026c8bd852  172.17.0.87:8104 172.17.0.87:8101 -a 123456
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
>>> Adding node 172.17.0.87:8104 to cluster 172.17.0.87:8101
>>> Performing Cluster Check (using node 172.17.0.87:8101)
M: 0995bca9e3d1f499223881ced1adf669cc7e3f14 172.17.0.87:8101
   slots:[2731-5460] (2730 slots) master
   1 additional replica(s)
S: a93f2b6ed44eed1a576e224aa81f8ff20aad117c 172.17.0.89:8104
   slots: (0 slots) slave
   replicates 7ad94073f481375394303613e357987c73c0b031
M: 05d19743bf4653f9687a58b7ebda41026c8bd852 172.17.0.89:8103
   slots:[5461-8192] (2732 slots) master
S: bb5cef83bf6343313b36769447d18c643d78b098 172.17.0.88:8102
   slots: (0 slots) slave
   replicates 0995bca9e3d1f499223881ced1adf669cc7e3f14
M: 5c1a9c61d3497d2ce9ee61893c25d6cdfdf8cd2b 172.17.0.89:8101
   slots:[13654-16383] (2730 slots) master
   1 additional replica(s)
M: 7ad94073f481375394303613e357987c73c0b031 172.17.0.88:8103
   slots:[10923-13653] (2731 slots) master
   1 additional replica(s)
S: e7f39b79ad1f9064c6d77528d639178f9ded0394 172.17.0.87:8102
   slots: (0 slots) slave
   replicates 5c1a9c61d3497d2ce9ee61893c25d6cdfdf8cd2b
S: 660c6be2e33b069b3cd5b967c0c55edececb22d5 172.17.0.88:8104
   slots: (0 slots) slave
   replicates e4bb38859fb394821a86f8facbd09d40a71f7d90
M: e4bb38859fb394821a86f8facbd09d40a71f7d90 172.17.0.87:8103
   slots:[0-2730] (2731 slots) master
   1 additional replica(s)
M: a815c482e0c7d9178096b747c0692460c5d0a011 172.17.0.88:8101
   slots:[8193-10922] (2730 slots) master
   1 additional replica(s)
S: 66cbe4edea1880e0b0edb907f862ee655b765254 172.17.0.89:8102
   slots: (0 slots) slave
   replicates a815c482e0c7d9178096b747c0692460c5d0a011
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
>>> Send CLUSTER MEET to node 172.17.0.87:8104 to make it join the cluster.
Waiting for the cluster to join

>>> Configure node as replica of 172.17.0.89:8103.
[OK] New node added correctly.


从节点加入后集群及槽位:
redis-cli -c -h 172.17.0.87 -p 8102 -a 123456 cluster nodes
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.
e4bb38859fb394821a86f8facbd09d40a71f7d90 172.17.0.87:8103@18103 master - 0 1727316250000 11 connected 0-2730
660c6be2e33b069b3cd5b967c0c55edececb22d5 172.17.0.88:8104@18104 slave e4bb38859fb394821a86f8facbd09d40a71f7d90 0 1727316252791 11 connected
0995bca9e3d1f499223881ced1adf669cc7e3f14 172.17.0.87:8101@18101 master - 0 1727316248000 1 connected 2731-5460
bb5cef83bf6343313b36769447d18c643d78b098 172.17.0.88:8102@18102 slave 0995bca9e3d1f499223881ced1adf669cc7e3f14 0 1727316250676 1 connected
05d19743bf4653f9687a58b7ebda41026c8bd852 172.17.0.89:8103@18103 master - 0 1727316251682 9 connected 5461-8192
7d03a9c90ea8431d3608362d88beaa7ee33ca5c3 172.17.0.87:8104@18104 slave 05d19743bf4653f9687a58b7ebda41026c8bd852 0 1727316252791 9 connected
a815c482e0c7d9178096b747c0692460c5d0a011 172.17.0.88:8101@18101 master - 0 1727316249000 3 connected 8193-10922
66cbe4edea1880e0b0edb907f862ee655b765254 172.17.0.89:8102@18102 slave a815c482e0c7d9178096b747c0692460c5d0a011 0 1727316250000 3 connected
7ad94073f481375394303613e357987c73c0b031 172.17.0.88:8103@18103 master - 0 1727316249000 10 connected 10923-13653
a93f2b6ed44eed1a576e224aa81f8ff20aad117c 172.17.0.89:8104@18104 slave 7ad94073f481375394303613e357987c73c0b031 0 1727316252689 10 connected
5c1a9c61d3497d2ce9ee61893c25d6cdfdf8cd2b 172.17.0.89:8101@18101 master - 0 1727316249000 5 connected 13654-16383
e7f39b79ad1f9064c6d77528d639178f9ded0394 172.17.0.87:8102@18102 myself,slave 5c1a9c61d3497d2ce9ee61893c25d6cdfdf8cd2b 0 1727316247000 5 connected

标签:8101,redis,集群,0.87,172.17,master,slots,0.88,节点
From: https://www.cnblogs.com/hank-gao/p/18435671

相关文章

  • Redis常见面试题
    过期删除策略删除达到过期时间的key。1)定时删除对于每一个设置了过期时间的key都会创建一个定时器,一旦到达过期时间就立即删除。该策略可以立即清除过期的数据,对内存较友好,但是缺点是占用了大量的CPU资源去处理过期的数据,会影响Redis的吞吐量和响应时间。2)惰性删除当......
  • Web APIs 4:日期对象、时间戳、节点操作、swiper插件
    WebAPIs4(日期对象、节点操作、swiper插件)1.实例化日期对象获得当前时间:constdate=newDate()获得指定时间:constdata=newDate(‘2024-1-108:30:30’)2.日期对象方法方法作用说明getFullTear()获得年份获取四位年份getMonth()获得月份取值为0~11getDate()获取月......
  • redis有序集合多字段排序
    首先,redis有序集合本身是不支持多字段排序的例如ZADDusers25AliceZADDusers25BobZADDusers10Carol只能通过前面的分数这一个维度来实现,如果现在引入了另一个字段,可以在分数值(利用阿拉伯数字)上做手脚例如,时间维度2023-01-012023-01-022023-01-03这......
  • semi-sync原主库加入集群阻塞问题分析
    问题现象客户在一个一主两从的半同步复制环境下做了手工切换,然后尝试把原主库加入集群中,结果发现新集群中的数据一直无法同步到slave(原主库)中来,查看slave(原主库)同步状态,IO线程和SQL线程都是YES状态,但是Seconds_Behind_Master大于0.查看showprocesslist状态,发现SQL线程一......
  • 使用 Redis 记录用户连续登录天数的方法及代码分享
    目录标题:使用Redis记录用户连续登录天数的方法及代码分享一、为什么不适合放在数据库中二、Redis的bitmap介绍三、存储方式及统计方法(一)以每天维度存储(二)以用户维度存储在本文中,我们将探讨如何使用Redis记录用户连续登录天数的问题。这是一个在面试中可能会遇到......
  • Redis缓存过期淘汰策略
    先来看下我们遇到的问题生产上redis内存需要设置多少才合适如何配置、修改redis的内存大小,具体怎么操作如果内存满了Redis怎么办redis清理内存的方式选择那种:定期删除和惰性删怎么选择redis缓存淘汰策略1.redis内存1.1查看Redis内存配置文件查看Redis最大占用内......
  • 【Golang】双节点集群etcd未组成集群vip切换时序
    目录1、背景2、时序图1、背景在vip(虚拟ip)可以从一个节点切换到另一个节点,但etcd未组成集群的环境中,与etcd的连接会断开重连,但同一个key在不同节点的版本可能会不一样导致etcd服务器不向客户端推送数据,也就是客户端watch失效了,具体解决方法参考之前的重连方法。下面......
  • redis自身查询很慢 排查redis-benchmark
    redis-benchmark 是一个用于测试Redis性能的基准测试工具,可以帮助开发人员评估和比较Redis在不同配置或负载情况下的吞吐量和延迟。通过 redis-benchmark 的测试结果,你可以获得qps、平均延迟、错误率等性能指标,从而根据需要进行调优和优化,确保Redis在实际生产环境中具有良......
  • TikTok直播网络怎么选?SD-WAN、直播专线、软路由、节点详解
    随着TikTok全球用户的爆发式增长,越来越多的个人和品牌方将直播作为与观众互动、推广产品的重要方式。直播的成功不仅依赖于优质的内容,稳定的网络连接也是至关重要的核心要素之一。在选择TikTok直播的网络方案时,市面上常见的技术包括SD-WAN、直播专线、软路由、和节点。接下来,我......
  • Docker容器启动Redis设置密码并持久化
    启动命令dockerrun--namewh-redis-p6379:6379-v/root/RedisData:/data-d--restartunless-stoppedredis--appendonlyyes--requirepass'Your-password'dockerrun:启动一个新的Docker容器。--namewh-redis:给容器指定一个名称,容器名为wh-redis。指定名......