|
#如果移除未启动状态节点,报错。
#移除从节点(端口是40000)
[root@hadoop2 create-cluster]# ../../src/redis-trib.rb del-node 127.0.0.1:30001 529d12d3fd0e48b09ca71c8408b72baaf7954d11
>>> Removing node 529d12d3fd0e48b09ca71c8408b72baaf7954d11 from cluster 127.0.0.1:30001
[ERR] No such node ID 529d12d3fd0e48b09ca71c8408b72baaf7954d11
#启动40000节点
略
[root@hadoop2 create-cluster]# ps -ef |grep redis
...
root 3636 1 0 21:08 ? 00:00:01 ../../src/redis-server *:40010 [cluster]
root 3709 1 0 21:17 ? 00:00:00 ../../src/redis-server *:40000 [cluster]
#再次删除
[root@hadoop2 create-cluster]# ../../src/redis-trib.rb del-node 127.0.0.1:30001 529d12d3fd0e48b09ca71c8408b72baaf7954d11
>>> Removing node 529d12d3fd0e48b09ca71c8408b72baaf7954d11 from cluster 127.0.0.1:30001
>>> Sending CLUSTER FORGET messages to the cluster...
>>> SHUTDOWN the node.
[root@hadoop2 create-cluster]# ps -ef |grep 40000
root 3724 2539 0 21:18 pts/1 00:00:00 grep 40000
#40000端口进程杀死了
[root@hadoop2 create-cluster]# ps -ef |grep redis
...
root 3636 1 0 21:08 ? 00:00:01 ../../src/redis-server *:40010 [cluster]
成功移除了40000节点
127.0.0.1:30001> cluster nodes
fb2d0f156daec5e148c9b5a462e185b43e177e4e 127.0.0.1:30004@40004 master - 0 1473859078007 8 connected 0-5460
498ca3472b917cd1a8e1f14cbb67b54327bacae7 127.0.0.1:30003@40003 master - 0 1473859078007 3 connected 14647-16383
3220b1b57d652ab82bbe56750636e57d0a6480c2 127.0.0.1:30001@40001 myself,slave fb2d0f156daec5e148c9b5a462e185b43e177e4e 0 0 1 connected
4e1dd54fcae4a7f92d78b6a6add09b5cd1538c64 127.0.0.1:40010@50010 master - 0 1473859078007 9 connected 10923-14646
0717c88dad90923befe94d8e1536720bccb0d3b5 127.0.0.1:30006@40006 slave 498ca3472b917cd1a8e1f14cbb67b54327bacae7 0 1473859078006 6 connected
08a60e2151bf760a14a5fd27dd2025023a4826e8 127.0.0.1:30005@40005 slave 06e3347954cd77a8c61cea80673cd3e537ad3cd7 0 1473859078006 5 connected
06e3347954cd77a8c61cea80673cd3e537ad3cd7 127.0.0.1:30002@40002 master - 0 1473859078007 2 connected 5461-10922
######################################
###继续移除主节点40010
# 尝试直接删除40010节点( 发现不允许删除,提示有数据在,需要reshard处理)
[root@hadoop2 create-cluster]# ../../src/redis-trib.rb del-node 127.0.0.1:30001 498ca3472b917cd1a8e1f14cbb67b54327bacae7
>>> Removing node 498ca3472b917cd1a8e1f14cbb67b54327bacae7 from cluster 127.0.0.1:30001
[ERR] Node 127.0.0.1:40010is not empty! Reshard data away and try again.
#执行reshard,重新分配(如果目标节点为从节点,也报错)
../../src/redis-trib.rb reshard --from 4e1dd54fcae4a7f92d78b6a6add09b5cd1538c64 --to 498ca3472b917cd1a8e1f14cbb67b54327bacae7 --slots 3000 127.0.0.1:30001
#如果目标几点选择从节点,报错信息如下
#*** The specified node is not known or not a master, please retry.
#重复迁移数据到30003节点(我执行了2次)
../../src/redis-trib.rb reshard --from 4e1dd54fcae4a7f92d78b6a6add09b5cd1538c64 --to 498ca3472b917cd1a8e1f14cbb67b54327bacae7 --slots 3000 127.0.0.1:30001
确认下是否40010上是否还分配着哈希槽
127.0.0.1:30001> cluster nodes
fb2d0f156daec5e148c9b5a462e185b43e177e4e 127.0.0.1:30004@40004 master - 0 1473860273927 8 connected 0-5460
498ca3472b917cd1a8e1f14cbb67b54327bacae7 127.0.0.1:30003@40003 master - 0 1473860274026 10 connected 10923-16383
3220b1b57d652ab82bbe56750636e57d0a6480c2 127.0.0.1:30001@40001 myself,slave fb2d0f156daec5e148c9b5a462e185b43e177e4e 0 0 1 connected
4e1dd54fcae4a7f92d78b6a6add09b5cd1538c64 127.0.0.1:40010@50010 master - 0 1473860274126 9 connected
0717c88dad90923befe94d8e1536720bccb0d3b5 127.0.0.1:30006@40006 slave 498ca3472b917cd1a8e1f14cbb67b54327bacae7 0 1473860273927 10 connected
08a60e2151bf760a14a5fd27dd2025023a4826e8 127.0.0.1:30005@40005 slave 06e3347954cd77a8c61cea80673cd3e537ad3cd7 0 1473860273927 5 connected
06e3347954cd77a8c61cea80673cd3e537ad3cd7 127.0.0.1:30002@40002 master - 0 1473860273927 2 connected 5461-10922
# 删除节点(这次成功了)
[root@hadoop2 create-cluster]# ../../src/redis-trib.rb del-node 127.0.0.1:30001 4e1dd54fcae4a7f92d78b6a6add09b5cd1538c64
>>> Removing node 4e1dd54fcae4a7f92d78b6a6add09b5cd1538c64 from cluster 127.0.0.1:30001
>>> Sending CLUSTER FORGET messages to the cluster...
>>> SHUTDOWN the node.
#确认下40040节点已经从集群中删除了。
127.0.0.1:30001> cluster nodes
fb2d0f156daec5e148c9b5a462e185b43e177e4e 127.0.0.1:30004@40004 master - 0 1473860314240 8 connected 0-5460
498ca3472b917cd1a8e1f14cbb67b54327bacae7 127.0.0.1:30003@40003 master - 0 1473860314341 10 connected 10923-16383
3220b1b57d652ab82bbe56750636e57d0a6480c2 127.0.0.1:30001@40001 myself,slave fb2d0f156daec5e148c9b5a462e185b43e177e4e 0 0 1 connected
0717c88dad90923befe94d8e1536720bccb0d3b5 127.0.0.1:30006@40006 slave 498ca3472b917cd1a8e1f14cbb67b54327bacae7 0 1473860314240 10 connected
08a60e2151bf760a14a5fd27dd2025023a4826e8 127.0.0.1:30005@40005 slave 06e3347954cd77a8c61cea80673cd3e537ad3cd7 0 1473860314240 5 connected
06e3347954cd77a8c61cea80673cd3e537ad3cd7 127.0.0.1:30002@40002 master - 0 1473860314240 2 connected 5461-10922
#确认下在40010上的数据,已经迁移到30003节点上。
127.0.0.1:30001> get k1
(error) MOVED 12706 127.0.0.1:30003
|
|
|
|
|
|
|