概述
redis-trib.rb
redis-trib.rb是redis官方提供的集群管理工具,由ruby开发实现。通过该工具可以实现集群的创建、增加节点、删除节点、分片迁移等等功能。
使用帮助
redis-trib.rb通过调用redis的接口来实现管理维护功能,需要使用redis的ruby接口库,假设都已经安装完成,如果没有集群环境请参考上篇博文
Redis-21Redis集群模式-Centos6.5上3台主机3主3从的配置及通过代码访问集群
执行redis-trib.rb,查看帮助信息
[root@artisan bin]# ./redis-trib.rb Usage: redis-trib <command> <options> <arguments ...> create host1:port1 ... hostN:portN --replicas <arg> check host:port info host:port fix host:port --timeout <arg> reshard host:port --from <arg> --to <arg> --slots <arg> --yes --timeout <arg> --pipeline <arg> rebalance host:port --weight <arg> --auto-weights --use-empty-masters --timeout <arg> --simulate --pipeline <arg> --threshold <arg> add-node new_host:new_port existing_host:existing_port --slave --master-id <arg> del-node host:port node_id set-timeout host:port milliseconds call host:port command arg arg .. arg import host:port --from <arg> --copy --replace help (show this help) For check, fix, reshard, del-node, set-timeout you can specify the host and port of any working node in the cluster. [root@artisan bin]#
使用命令时参数顺序必须按照要求:
有个全局参数--password
,当缓存集群设置密码授权(requirepass)时,使用redis-trib.rb工具时需要使用该参数。
创建集群(create)
功能
将传入的各redis节点构建成redis集群:连接各redis节点,并为它们分配各自的数据分片,协调建立master-slave关系,协调完成各redis节点间的握手认证,最终建立好redis集群。
参数
<command>: create
创建集群的命令
<options>: --replicas <arg
replicas为副本个数选项,副本数通过arg传入。该选项不设置时,默认为无副,即设置每个master节点的slave节点个数。
<arguments>:host1:port1 ... hostN:portN
组成redis集群的各redis节点信息
示例
[root@artisan bin]# ./redis-trib.rb create --replicas 1 192.168.31.66:7000 192.168.31.66:7001 192.168.31.56:7002 192.168.31.56:7003 192.168.31.176:7004 192.168.31.176:7005 >>> Creating cluster >>> Performing hash slots allocation on 6 nodes... Using 3 masters: 192.168.31.66:7000 192.168.31.56:7002 192.168.31.176:7004 Adding replica 192.168.31.56:7003 to 192.168.31.66:7000 Adding replica 192.168.31.176:7005 to 192.168.31.56:7002 Adding replica 192.168.31.66:7001 to 192.168.31.176:7004 M: e22926a5b6707d0c6279f51efeb397d6e312e756 192.168.31.66:7000 slots:0-5460 (5461 slots) master S: e00e923a523c3ca446b756de98dc8ab03b3cbbd1 192.168.31.66:7001 replicates cee4aa629375ccc3417a37d8df7f454f93947510 M: 504d010ead65a4a0b628725be47b717ff26806fa 192.168.31.56:7002 slots:5461-10922 (5462 slots) master S: e0dfd0e65710ca487452d3b6e893267439d03f3a 192.168.31.56:7003 replicates e22926a5b6707d0c6279f51efeb397d6e312e756 M: cee4aa629375ccc3417a37d8df7f454f93947510 192.168.31.176:7004 slots:10923-16383 (5461 slots) master S: 75c4cedc4822e64c45cedec8f5190de77fa3858c 192.168.31.176:7005 replicates 504d010ead65a4a0b628725be47b717ff26806fa Can I set the above configuration? (type 'yes' to accept): yes >>> Nodes configuration updated >>> Assign a different config epoch to each node >>> Sending CLUSTER MEET messages to join the cluster Waiting for the cluster to join... >>> Performing Cluster Check (using node 192.168.31.66:7000) M: e22926a5b6707d0c6279f51efeb397d6e312e756 192.168.31.66:7000 slots:0-5460 (5461 slots) master 1 additional replica(s) M: cee4aa629375ccc3417a37d8df7f454f93947510 192.168.31.176:7004 slots:10923-16383 (5461 slots) master 1 additional replica(s) S: e0dfd0e65710ca487452d3b6e893267439d03f3a 192.168.31.56:7003 slots: (0 slots) slave replicates e22926a5b6707d0c6279f51efeb397d6e312e756 S: e00e923a523c3ca446b756de98dc8ab03b3cbbd1 192.168.31.66:7001 slots: (0 slots) slave replicates cee4aa629375ccc3417a37d8df7f454f93947510 M: 504d010ead65a4a0b628725be47b717ff26806fa 192.168.31.56:7002 slots:5461-10922 (5462 slots) master 1 additional replica(s) S: 75c4cedc4822e64c45cedec8f5190de77fa3858c 192.168.31.176:7005 slots: (0 slots) slave replicates 504d010ead65a4a0b628725be47b717ff26806fa [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered. [root@artisan bin]#
创建完毕,使用redis-cli连接到集群中的某个节点,使用cluster nodes命令可以查看到集群各节点的运行情况。
注意事项
- 各redis节点必须运行在集群模式下(cluster-enabled yes)
- 各redis节点需要已经启动完毕
- 各redis节点不能存在于其他redis集群中
- 各redis节点中不能存在数据
- master节点个数不能小于3 。[ master节点数 = 输入的节点总数 / (replicas + 1) ]
因为redis集群是通过选举机制来判断节点可用性,需要有半数以上master节点投票才有效。如果master个数小于3,那么将无法有效认定节点的可用性,当某个节点故障时,redis集群也就无法在master故障时自动进行主从切换。
增加节点(add-node)
功能
将传入的redis节点加入到redis集群:通过集群中的某个节点获取到集群信息,并协调集群中的节点与新增节点进行握手认证,将新节点加入到该集群中。如果是新增slave节点,那还会协调新增节点主动与master建立主从联系。
参数
add-node new_host:new_port existing_host:existing_port --slave --master-id <arg>
<command>: add-node
集群增加节点的命令名字
<options>: --slave --master-id <arg>
slave
为新增slave节点选项。增加该选项,则新增的节点会被设置成集群中某个master的的slave.
master-id
为slave节点的主节点标识,通过arg
传入。该选项在–slave选项存在时有效,表明新增加的节点作为该master节点的slave存在。
【使用了--slave
选项,而没有使用--master-id
选项时,工具会自动选择一个slave节点数最少的master节点】
<arguments>:new_host:new_port existing_host:existing_port
new_host:new_port 为新增加节点的信息
existing_host:existing_port 是集群中的某个节点信息
示例
[root@artisan bin]# ./redis-cli -c -h 192.168.31.66 -p 7000 192.168.31.66:7000> CLUSTER NODES e22926a5b6707d0c6279f51efeb397d6e312e756 192.168.31.66:7000@17000 myself,master - 0 1540073866000 1 connected 0-5460 e0dfd0e65710ca487452d3b6e893267439d03f3a 192.168.31.56:7003@17003 slave e22926a5b6707d0c6279f51efeb397d6e312e756 0 1540073872037 4 connected 75c4cedc4822e64c45cedec8f5190de77fa3858c 192.168.31.176:7005@17005 slave 504d010ead65a4a0b628725be47b717ff26806fa 0 1540073874056 9 connected cee4aa629375ccc3417a37d8df7f454f93947510 192.168.31.176:7004@17004 slave e00e923a523c3ca446b756de98dc8ab03b3cbbd1 0 1540073873045 8 connected e00e923a523c3ca446b756de98dc8ab03b3cbbd1 192.168.31.66:7001@17001 master - 0 1540073872036 8 connected 10923-16383 504d010ead65a4a0b628725be47b717ff26806fa 192.168.31.56:7002@17002 master - 0 1540073873552 9 connected 5461-10922 192.168.31.66:7000> exit
部署端口为7006 redis节点,这里我们从7001目录下cp个redis.conf到新建的7006端口目录下,然后将7001批量替换为7006
[root@artisan 7006]# ll total 60 -rw-r--r--. 1 root root 58779 Oct 21 06:50 redis.conf [root@artisan 7006]# [root@artisan 7006]# sed -i s/7001/7006/g redis.conf [root@artisan 7006]# [root@artisan 7006]# grep 7006 redis.conf port 7006 pidfile /var/run/redis_7006.pid dbfilename dump_7006.rdb appendfilename "appendonly_7006.aof" cluster-config-file nodes-7006.conf [root@artisan 7006]#
启动并查看
[root@artisan redis-cluster]# /usr/local/redis-4.0.11/bin/redis-server /usr/local/redis-cluster/7006/redis.conf 5222:C 21 Oct 06:55:22.544 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 5222:C 21 Oct 06:55:22.544 # Redis version=4.0.11, bits=64, commit=00000000, modified=0, pid=5222, just started 5222:C 21 Oct 06:55:22.544 # Configuration loaded [root@artisan redis-cluster]# [root@artisan redis-cluster]# ps -ef|grep redis-server |grep -v grep root 2213 1 0 Oct20 ? 00:08:41 /usr/local/redis-4.0.11/bin/redis-server 192.168.31.66:7000 [cluster] root 2215 1 0 Oct20 ? 00:08:42 /usr/local/redis-4.0.11/bin/redis-server 192.168.31.66:7001 [cluster] root 5223 1 0 06:55 ? 00:00:00 /usr/local/redis-4.0.11/bin/redis-server 192.168.31.66:7006 [cluster] [root@artisan redis-cluster]#
添加节点
[root@artisan bin]# pwd /usr/local/redis-4.0.11/bin [root@artisan bin]# ls mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-sentinel redis-server redis-trib.rb [root@artisan bin]# ./redis-trib.rb add-node 192.168.31.66:7006 192.168.31.66:7000 >>> Adding node 192.168.31.66:7006 to cluster 192.168.31.66:7000 >>> Performing Cluster Check (using node 192.168.31.66:7000) M: e22926a5b6707d0c6279f51efeb397d6e312e756 192.168.31.66:7000 slots:0-5460 (5461 slots) master 1 additional replica(s) S: e0dfd0e65710ca487452d3b6e893267439d03f3a 192.168.31.56:7003 slots: (0 slots) slave replicates e22926a5b6707d0c6279f51efeb397d6e312e756 S: 75c4cedc4822e64c45cedec8f5190de77fa3858c 192.168.31.176:7005 slots: (0 slots) slave replicates 504d010ead65a4a0b628725be47b717ff26806fa S: cee4aa629375ccc3417a37d8df7f454f93947510 192.168.31.176:7004 slots: (0 slots) slave replicates e00e923a523c3ca446b756de98dc8ab03b3cbbd1 M: e00e923a523c3ca446b756de98dc8ab03b3cbbd1 192.168.31.66:7001 slots:10923-16383 (5461 slots) master 1 additional replica(s) M: 504d010ead65a4a0b628725be47b717ff26806fa 192.168.31.56:7002 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 192.168.31.66:7006 to make it join the cluster. [OK] New node added correctly. [root@artisan bin]#
增加完毕,使用redis-cli连接到集群中的某个节点,使用cluster nodes命令可以查看到新的redis节点已经增加到集群节点中。
[root@artisan bin]# ./redis-cli -c -h 192.168.31.66 -p 7000 192.168.31.66:7000> CLUSTER NODES a6270f192bb155442269fcee107f330490cc99b3 192.168.31.66:7006@17006 master - 0 1540076493722 0 connected e22926a5b6707d0c6279f51efeb397d6e312e756 192.168.31.66:7000@17000 myself,master - 0 1540076494000 1 connected 0-5460 e0dfd0e65710ca487452d3b6e893267439d03f3a 192.168.31.56:7003@17003 slave e22926a5b6707d0c6279f51efeb397d6e312e756 0 1540076493521 4 connected 75c4cedc4822e64c45cedec8f5190de77fa3858c 192.168.31.176:7005@17005 slave 504d010ead65a4a0b628725be47b717ff26806fa 0 1540076493215 9 connected cee4aa629375ccc3417a37d8df7f454f93947510 192.168.31.176:7004@17004 slave e00e923a523c3ca446b756de98dc8ab03b3cbbd1 0 1540076494729 8 connected e00e923a523c3ca446b756de98dc8ab03b3cbbd1 192.168.31.66:7001@17001 master - 0 1540076494528 8 connected 10923-16383 504d010ead65a4a0b628725be47b717ff26806fa 192.168.31.56:7002@17002 master - 0 1540076494729 9 connected 5461-10922 192.168.31.66:7000>
注意事项
- 新增redis节点必须运行在集群模式下(cluster-enabled yes)
- 新增redis节点以及redis集群需要已经启动完毕
- 新增redis节点不能已经存在于其他redis集群中
- 新增redis节点中不能存在数据
- 新增的master节点并不承担数据分片,需要再使用分片迁移来为其划分数据分片
删除节点(del-node)
功能
将指定个数的分片由原节点迁移到目标节点中:通过集群中的某个节点获取到集群信息,从原节点中自动选取指定个数的分片,并协调完成这些分片由原节点迁移到目标节点。
参数
del-node host:port node_id
<command>: del-node
集群删除节点的命令名字
<arguments>:host:port node-id
host:port 为集群中的某个节点信息
node-id 为待删除节点标识
示例
我们把刚才添加的7006 删除掉
[root@artisan bin]# ./redis-trib.rb del-node 192.168.31.66:7006 a6270f192bb155442269fcee107f330490cc99b3 >>> Removing node a6270f192bb155442269fcee107f330490cc99b3 from cluster 192.168.31.66:7006 >>> Sending CLUSTER FORGET messages to the cluster... >>> SHUTDOWN the node. [root@artisan bin]#
删除完毕,使用redis-cli连接到集群中的某个节点,使用cluster nodes命令可以查看到指定删除的redis节点已经不在集群节点中
重新查看节点信息
注意事项
- Redis集群中各节点已经启动完毕
- 待删除的redis节点并不承担数据分片,删除带有数据分片的节点报错如下:
分片迁移(reshard)
功能
将指定个数的分片由原节点迁移到目标节点中:通过集群中的某个节点获取到集群信息,从原节点中自动选取指定个数的分片,并协调完成这些分片由原节点迁移到目标节点。
参数
reshard host:port --from <arg> --to <arg> --slots <arg> --yes --timeout <arg> --pipeline <arg>
<command>: reshard
集群分片迁移的命令名字
<options>: --slots <arg> --to <arg> --yes --from <arg> --pipeline <arg>
slots为要迁移的分片个数(此处为个数,具体迁移哪些分片,由工具自动选取)
to 为分片要迁移到的目标节点标识。
from 为分片要迁出的来源节点标识列表(列表分隔符为逗号,如果从所有节点中迁出部分节点,那么可以设置为–from all)
yes 为无需人工确认,直接进行分片迁移(不设置时,需要人工确认是否继续执行)
pipeline 为批量迁移键的数量,默认取值为10。
<arguments>:host:port
host:port 为集群中的某个节点信息
示例
启动7006,添加到集群
[root@artisan redis-cluster]# /usr/local/redis-4.0.11/bin/redis-server /usr/local/redis-cluster/7006/redis.conf 5288:C 21 Oct 07:16:49.599 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo 5288:C 21 Oct 07:16:49.599 # Redis version=4.0.11, bits=64, commit=00000000, modified=0, pid=5288, just started 5288:C 21 Oct 07:16:49.599 # Configuration loaded [root@artisan redis-cluster]# [root@artisan redis-cluster]# [root@artisan redis-cluster]# ps -ef|grep redis-server |grep -v grep root 2213 1 0 Oct20 ? 00:08:46 /usr/local/redis-4.0.11/bin/redis-server 192.168.31.66:7000 [cluster] root 2215 1 0 Oct20 ? 00:08:47 /usr/local/redis-4.0.11/bin/redis-server 192.168.31.66:7001 [cluster] root 5289 1 0 07:16 ? 00:00:00 /usr/local/redis-4.0.11/bin/redis-server 192.168.31.66:7006 [cluster] [root@artisan redis-cluster]#
[root@artisan bin]# ./redis-trib.rb add-node 192.168.31.66:7006 192.168.31.66:7000 >>> Adding node 192.168.31.66:7006 to cluster 192.168.31.66:7000 >>> Performing Cluster Check (using node 192.168.31.66:7000) M: e22926a5b6707d0c6279f51efeb397d6e312e756 192.168.31.66:7000 slots:0-5460 (5461 slots) master 1 additional replica(s) S: e0dfd0e65710ca487452d3b6e893267439d03f3a 192.168.31.56:7003 slots: (0 slots) slave replicates e22926a5b6707d0c6279f51efeb397d6e312e756 S: 75c4cedc4822e64c45cedec8f5190de77fa3858c 192.168.31.176:7005 slots: (0 slots) slave replicates 504d010ead65a4a0b628725be47b717ff26806fa S: cee4aa629375ccc3417a37d8df7f454f93947510 192.168.31.176:7004 slots: (0 slots) slave replicates e00e923a523c3ca446b756de98dc8ab03b3cbbd1 M: e00e923a523c3ca446b756de98dc8ab03b3cbbd1 192.168.31.66:7001 slots:10923-16383 (5461 slots) master 1 additional replica(s) M: 504d010ead65a4a0b628725be47b717ff26806fa 192.168.31.56:7002 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 192.168.31.66:7006 to make it join the cluster. [OK] New node added correctly. [root@artisan bin]#
reshard
[root@artisan bin]# ./redis-trib.rb reshard --slots 300 --to 91bc7b99ec9ca647f9f9f3fbdff6c9f12cae9ec1 --from all --yes 192.168.31.66:7006 >>> Performing Cluster Check (using node 192.168.31.66:7006) M: 91bc7b99ec9ca647f9f9f3fbdff6c9f12cae9ec1 192.168.31.66:7006 slots: (0 slots) master 0 additional replica(s) S: 75c4cedc4822e64c45cedec8f5190de77fa3858c 192.168.31.176:7005 slots: (0 slots) slave replicates 504d010ead65a4a0b628725be47b717ff26806fa M: 504d010ead65a4a0b628725be47b717ff26806fa 192.168.31.56:7002 slots:5461-10922 (5462 slots) master 1 additional replica(s) M: e22926a5b6707d0c6279f51efeb397d6e312e756 192.168.31.66:7000 slots:0-5460 (5461 slots) master 1 additional replica(s) S: cee4aa629375ccc3417a37d8df7f454f93947510 192.168.31.176:7004 slots: (0 slots) slave replicates e00e923a523c3ca446b756de98dc8ab03b3cbbd1 S: e0dfd0e65710ca487452d3b6e893267439d03f3a 192.168.31.56:7003 slots: (0 slots) slave replicates e22926a5b6707d0c6279f51efeb397d6e312e756 M: e00e923a523c3ca446b756de98dc8ab03b3cbbd1 192.168.31.66:7001 slots:10923-16383 (5461 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. Ready to move 300 slots. Source nodes: M: 504d010ead65a4a0b628725be47b717ff26806fa 192.168.31.56:7002 slots:5461-10922 (5462 slots) master 1 additional replica(s) M: e22926a5b6707d0c6279f51efeb397d6e312e756 192.168.31.66:7000 slots:0-5460 (5461 slots) master 1 additional replica(s) M: e00e923a523c3ca446b756de98dc8ab03b3cbbd1 192.168.31.66:7001 slots:10923-16383 (5461 slots) master 1 additional replica(s) Destination node: M: 91bc7b99ec9ca647f9f9f3fbdff6c9f12cae9ec1 192.168.31.66:7006 slots: (0 slots) master 0 additional replica(s) Resharding plan: Moving slot 5461 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5462 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5463 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5464 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5465 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5466 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5467 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5468 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5469 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5470 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5471 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5472 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5473 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5474 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5475 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5476 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5477 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5478 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5479 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5480 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5481 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5482 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5483 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5484 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5485 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5486 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5487 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5488 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5489 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5490 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5491 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5492 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5493 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5494 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5495 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5496 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5497 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5498 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5499 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5500 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5501 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5502 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5503 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5504 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5505 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5506 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5507 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5508 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5509 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5510 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5511 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5512 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5513 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5514 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5515 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5516 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5517 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5518 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5519 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5520 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5521 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5522 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5523 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5524 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5525 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5526 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5527 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5528 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5529 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5530 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5531 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5532 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5533 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5534 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5535 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5536 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5537 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5538 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5539 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5540 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5541 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5542 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5543 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5544 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5545 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5546 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5547 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5548 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5549 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5550 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5551 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5552 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5553 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5554 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5555 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5556 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5557 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5558 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5559 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5560 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 5561 from 504d010ead65a4a0b628725be47b717ff26806fa Moving slot 0 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 1 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 2 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 3 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 4 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 5 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 6 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 7 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 8 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 9 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 10 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 11 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 12 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 13 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 14 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 15 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 16 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 17 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 18 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 19 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 20 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 21 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 22 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 23 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 24 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 25 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 26 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 27 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 28 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 29 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 30 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 31 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 32 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 33 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 34 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 35 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 36 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 37 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 38 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 39 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 40 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 41 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 42 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 43 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 44 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 45 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 46 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 47 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 48 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 49 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 50 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 51 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 52 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 53 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 54 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 55 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 56 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 57 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 58 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 59 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 60 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 61 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 62 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 63 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 64 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 65 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 66 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 67 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 68 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 69 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 70 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 71 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 72 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 73 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 74 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 75 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 76 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 77 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 78 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 79 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 80 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 81 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 82 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 83 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 84 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 85 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 86 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 87 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 88 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 89 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 90 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 91 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 92 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 93 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 94 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 95 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 96 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 97 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 98 from e22926a5b6707d0c6279f51efeb397d6e312e756 Moving slot 10923 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10924 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10925 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10926 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10927 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10928 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10929 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10930 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10931 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10932 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10933 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10934 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10935 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10936 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10937 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10938 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10939 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10940 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10941 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10942 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10943 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10944 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10945 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10946 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10947 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10948 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10949 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10950 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10951 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10952 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10953 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10954 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10955 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10956 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10957 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10958 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10959 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10960 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10961 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10962 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10963 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10964 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10965 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10966 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10967 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10968 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10969 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10970 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10971 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10972 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10973 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10974 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10975 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10976 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10977 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10978 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10979 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10980 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10981 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10982 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10983 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10984 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10985 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10986 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10987 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10988 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10989 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10990 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10991 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10992 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10993 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10994 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10995 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10996 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10997 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10998 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 10999 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 11000 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 11001 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 11002 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 11003 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 11004 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 11005 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 11006 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 11007 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 11008 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 11009 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 11010 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 11011 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 11012 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 11013 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 11014 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 11015 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 11016 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 11017 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 11018 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 11019 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 11020 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 11021 from e00e923a523c3ca446b756de98dc8ab03b3cbbd1 Moving slot 5461 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5462 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5463 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5464 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5465 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5466 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5467 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5468 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5469 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5470 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5471 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5472 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5473 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5474 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5475 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5476 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5477 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5478 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5479 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5480 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5481 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5482 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5483 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5484 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5485 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5486 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5487 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5488 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5489 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5490 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5491 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5492 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5493 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5494 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5495 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5496 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5497 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5498 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5499 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5500 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5501 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5502 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5503 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5504 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5505 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5506 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5507 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5508 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5509 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5510 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5511 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5512 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5513 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5514 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5515 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5516 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5517 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5518 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5519 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5520 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5521 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5522 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5523 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5524 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5525 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5526 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5527 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5528 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5529 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5530 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5531 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5532 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5533 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5534 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5535 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5536 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5537 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5538 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5539 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5540 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5541 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5542 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5543 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5544 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5545 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5546 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5547 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5548 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5549 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5550 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5551 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5552 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5553 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5554 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5555 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5556 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5557 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5558 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5559 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5560 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 5561 from 192.168.31.56:7002 to 192.168.31.66:7006: Moving slot 0 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 1 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 2 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 3 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 4 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 5 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 6 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 7 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 8 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 9 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 10 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 11 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 12 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 13 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 14 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 15 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 16 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 17 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 18 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 19 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 20 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 21 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 22 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 23 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 24 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 25 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 26 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 27 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 28 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 29 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 30 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 31 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 32 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 33 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 34 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 35 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 36 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 37 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 38 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 39 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 40 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 41 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 42 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 43 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 44 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 45 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 46 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 47 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 48 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 49 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 50 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 51 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 52 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 53 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 54 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 55 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 56 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 57 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 58 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 59 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 60 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 61 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 62 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 63 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 64 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 65 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 66 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 67 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 68 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 69 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 70 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 71 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 72 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 73 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 74 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 75 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 76 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 77 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 78 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 79 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 80 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 81 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 82 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 83 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 84 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 85 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 86 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 87 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 88 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 89 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 90 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 91 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 92 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 93 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 94 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 95 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 96 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 97 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 98 from 192.168.31.66:7000 to 192.168.31.66:7006: Moving slot 10923 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10924 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10925 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10926 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10927 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10928 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10929 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10930 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10931 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10932 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10933 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10934 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10935 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10936 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10937 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10938 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10939 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10940 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10941 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10942 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10943 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10944 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10945 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10946 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10947 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10948 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10949 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10950 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10951 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10952 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10953 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10954 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10955 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10956 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10957 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10958 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10959 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10960 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10961 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10962 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10963 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10964 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10965 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10966 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10967 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10968 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10969 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10970 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10971 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10972 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10973 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10974 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10975 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10976 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10977 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10978 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10979 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10980 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10981 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10982 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10983 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10984 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10985 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10986 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10987 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10988 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10989 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10990 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10991 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10992 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10993 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10994 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10995 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10996 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10997 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10998 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 10999 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 11000 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 11001 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 11002 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 11003 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 11004 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 11005 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 11006 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 11007 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 11008 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 11009 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 11010 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 11011 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 11012 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 11013 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 11014 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 11015 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 11016 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 11017 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 11018 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 11019 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 11020 from 192.168.31.66:7001 to 192.168.31.66:7006: Moving slot 11021 from 192.168.31.66:7001 to 192.168.31.66:7006: [root@artisan bin]#
分片迁移完毕,使用redis-cli连接到集群中的某个节点,使用cluster nodes或者clusterslots命令都可以查看到集群中各节点拥有的数据分片信息
clusterslots也可以查看
192.168.31.66:7000> CLUSTER SLOTS 1) 1) (integer) 99 2) (integer) 5460 3) 1) "192.168.31.66" 2) (integer) 7000 3) "e22926a5b6707d0c6279f51efeb397d6e312e756" 4) 1) "192.168.31.56" 2) (integer) 7003 3) "e0dfd0e65710ca487452d3b6e893267439d03f3a" 2) 1) (integer) 0 2) (integer) 98 3) 1) "192.168.31.66" 2) (integer) 7006 3) "91bc7b99ec9ca647f9f9f3fbdff6c9f12cae9ec1" 3) 1) (integer) 5461 2) (integer) 5561 3) 1) "192.168.31.66" 2) (integer) 7006 3) "91bc7b99ec9ca647f9f9f3fbdff6c9f12cae9ec1" 4) 1) (integer) 10923 2) (integer) 11021 3) 1) "192.168.31.66" 2) (integer) 7006 3) "91bc7b99ec9ca647f9f9f3fbdff6c9f12cae9ec1" 5) 1) (integer) 11022 2) (integer) 16383 3) 1) "192.168.31.66" 2) (integer) 7001 3) "e00e923a523c3ca446b756de98dc8ab03b3cbbd1" 4) 1) "192.168.31.176" 2) (integer) 7004 3) "cee4aa629375ccc3417a37d8df7f454f93947510" 6) 1) (integer) 5562 2) (integer) 10922 3) 1) "192.168.31.56" 2) (integer) 7002 3) "504d010ead65a4a0b628725be47b717ff26806fa" 4) 1) "192.168.31.176" 2) (integer) 7005 3) "75c4cedc4822e64c45cedec8f5190de77fa3858c" 192.168.31.66:7000>
注意事项:
- redis集群中各节点已经启动完毕
- 分片迁移个数范围: 1~16384
数据导入(import)
功能
将非集群redis节点数据导入redis集群中:通过集群中的某个节点获取到集群信息,遍历非集群redis节点中的数据,并协调其将遍历的数据导入到redis集群对应的节点中。
参数
import host:port --from <arg> --copy --replace
<command>: import
集群数据导入的命令名字
<options>: --from <arg>
from 为非集群redis节点信息(arg为redis节点的IP:PORT)
<arguments>:host:port
host:port 为集群中的某个节点信息
示例
[root@artisan bin]# ./redis-trib.rb import --from 192.168.31.66:6379 192.168.31.66:7000 >>> Importing data from 192.168.31.66:6379 to cluster >>> Performing Cluster Check (using node 192.168.31.66:7000) M: e22926a5b6707d0c6279f51efeb397d6e312e756 192.168.31.66:7000 slots:99-5460 (5362 slots) master 1 additional replica(s) S: e0dfd0e65710ca487452d3b6e893267439d03f3a 192.168.31.56:7003 slots: (0 slots) slave replicates e22926a5b6707d0c6279f51efeb397d6e312e756 M: 91bc7b99ec9ca647f9f9f3fbdff6c9f12cae9ec1 192.168.31.66:7006 slots:0-98,5461-5561,10923-11021 (299 slots) master 0 additional replica(s) S: 75c4cedc4822e64c45cedec8f5190de77fa3858c 192.168.31.176:7005 slots: (0 slots) slave replicates 504d010ead65a4a0b628725be47b717ff26806fa S: cee4aa629375ccc3417a37d8df7f454f93947510 192.168.31.176:7004 slots: (0 slots) slave replicates e00e923a523c3ca446b756de98dc8ab03b3cbbd1 M: e00e923a523c3ca446b756de98dc8ab03b3cbbd1 192.168.31.66:7001 slots:11022-16383 (5362 slots) master 1 additional replica(s) M: 504d010ead65a4a0b628725be47b717ff26806fa 192.168.31.56:7002 slots:5562-10922 (5361 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. >>> Connecting to the source Redis instance *** Importing 2 keys from DB 0 Migrating name to 192.168.31.56:7002: OK Migrating test_key to 192.168.31.66:7001: OK [root@artisan bin]#
错误
Migrating name to 192.168.31.56:7002: ERR Syntax error, try CLIENT (LIST | KILL | GETNAME | SETNAME | PAUSE | REPLY) Migrating test_key to 192.168.31.66:7001: ERR Syntax error, try CLIENT (LIST | KILL | GETNAME | SETNAME | PAUSE | REPLY)
参考 : https://github.com/antirez/redis/issues/4272
数据导入完毕,使用redis-cli连接到集群中的某个节点,使用get命令等可以查看到对应的key已经导入到集群中
注意
- 待导出数据的redis节点和redis集群中各节点已经启动完毕
- 待导出数据的redis节点运行为非集群模式
- 导入到redis集群中的数据,同时会把数据从原节点中删除
分片检查(check)
功能
检查redis集群的分片有效性:通过集群中的某个节点获取到集群信息,检查各集群节点存储的分片信息是否一致,检查是否存在未完成的分片迁移,检查各节点分配的分片总数是否为16384。
参数
check host:port
<command>: check
集群分片检查的命令名字
<arguments>:host:port
host:port 为集群中的某个节点信息
示例
[root@artisan bin]# ./redis-trib.rb check 192.168.31.66:7000 >>> Performing Cluster Check (using node 192.168.31.66:7000) M: e22926a5b6707d0c6279f51efeb397d6e312e756 192.168.31.66:7000 slots:99-5460 (5362 slots) master 1 additional replica(s) S: e0dfd0e65710ca487452d3b6e893267439d03f3a 192.168.31.56:7003 slots: (0 slots) slave replicates e22926a5b6707d0c6279f51efeb397d6e312e756 M: 91bc7b99ec9ca647f9f9f3fbdff6c9f12cae9ec1 192.168.31.66:7006 slots:0-98,5461-5561,10923-11021 (299 slots) master 0 additional replica(s) S: 75c4cedc4822e64c45cedec8f5190de77fa3858c 192.168.31.176:7005 slots: (0 slots) slave replicates 504d010ead65a4a0b628725be47b717ff26806fa S: cee4aa629375ccc3417a37d8df7f454f93947510 192.168.31.176:7004 slots: (0 slots) slave replicates e00e923a523c3ca446b756de98dc8ab03b3cbbd1 M: e00e923a523c3ca446b756de98dc8ab03b3cbbd1 192.168.31.66:7001 slots:11022-16383 (5362 slots) master 1 additional replica(s) M: 504d010ead65a4a0b628725be47b717ff26806fa 192.168.31.56:7002 slots:5562-10922 (5361 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. [root@artisan bin]#
集群分片检查可以发现异常分片情况,对于发现的问题,可以用接下来的分片修复(fix)命令进行处理
分片修复(fix)
功能
修复发现redis集群的分片问题:通过集群中的某个节点获取到集群信息,检查各集群节点存储的分片信息是否一致,检查是否存在未完成的分片迁移,检查各节点分配的分片总数是否为16384; 并能自动修复完成分片迁移工作,或者增加集群中未承载的分片到某些集群节点。
参数
fix host:port --timeout <arg>
<command>: fix
集群分片修复的命令名字
<arguments>:host:port
host:port 为集群中的某个节点信息
示例
[root@artisan bin]# ./redis-trib.rb fix 192.168.31.66:7000 >>> Performing Cluster Check (using node 192.168.31.66:7000) M: e22926a5b6707d0c6279f51efeb397d6e312e756 192.168.31.66:7000 slots:99-5460 (5362 slots) master 1 additional replica(s) S: e0dfd0e65710ca487452d3b6e893267439d03f3a 192.168.31.56:7003 slots: (0 slots) slave replicates e22926a5b6707d0c6279f51efeb397d6e312e756 M: 91bc7b99ec9ca647f9f9f3fbdff6c9f12cae9ec1 192.168.31.66:7006 slots:0-98,5461-5561,10923-11021 (299 slots) master 0 additional replica(s) S: 75c4cedc4822e64c45cedec8f5190de77fa3858c 192.168.31.176:7005 slots: (0 slots) slave replicates 504d010ead65a4a0b628725be47b717ff26806fa S: cee4aa629375ccc3417a37d8df7f454f93947510 192.168.31.176:7004 slots: (0 slots) slave replicates e00e923a523c3ca446b756de98dc8ab03b3cbbd1 M: e00e923a523c3ca446b756de98dc8ab03b3cbbd1 192.168.31.66:7001 slots:11022-16383 (5362 slots) master 1 additional replica(s) M: 504d010ead65a4a0b628725be47b717ff26806fa 192.168.31.56:7002 slots:5562-10922 (5361 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. [root@artisan bin]#
- 当分片迁移中断时,通过fix命令可以检查到异常中断的迁移分片,并继续未完成的操作,最终迁移成功,恢复集群分片信息到正常状态;
- 对于集群未承载的分片,通过fix命令可以检查出来,并根据一定策略将该分片指定给集群中的某个节点承载,最终使集群承载所有数据分片。
修改节点超时时长(set-timeout)
功能
修改集群节点超时时长:通过集群中的某个节点获取到集群信息,分别连接到各个节点上设置节点超时时间参数,并重写节点的配置文件。
参数
set-timeout host:port milliseconds
<command>: set-timeout
集群设置节点超时的命令名字
<arguments>:host:port milliseconds
host:port 为集群中的某个节点信息
milliseconds 为超时时长(单位为毫秒:ms)
示例
[root@artisan bin]# ./redis-trib.rb set-timeout 192.168.31.66:7000 8000 >>> Reconfiguring node timeout in every cluster node... *** New timeout set for 192.168.31.66:7000 *** New timeout set for 192.168.31.56:7003 *** New timeout set for 192.168.31.66:7006 *** New timeout set for 192.168.31.176:7005 *** New timeout set for 192.168.31.176:7004 *** New timeout set for 192.168.31.66:7001 *** New timeout set for 192.168.31.56:7002 >>> New node timeout set. 7 OK, 0 ERR. [root@artisan bin]#
注
超时时长不能小于100毫秒
调用节点命令(call)
功能
在集群中各个节点上执行命令:通过集群中的某个节点获取到集群信息,将节点命令发送至所有集群节点上执行,并显示命令执行结果。
参数
call host:port command arg arg .. arg
<command>: call
集群调用节点命令的命令名字
<arguments>:host:port command arg arg .. arg
host:port 为集群中的某个节点信息
command arg arg…arg 为redis节点支持的命令及参数
示例
[root@artisan bin]# ./redis-trib.rb call 192.168.31.56:7003 get name >>> Calling GET name 192.168.31.56:7003: MOVED 5798 192.168.31.56:7002 192.168.31.66:7006: MOVED 5798 192.168.31.56:7002 192.168.31.176:7005: MOVED 5798 192.168.31.56:7002 192.168.31.56:7002: artisan_new 192.168.31.176:7004: MOVED 5798 192.168.31.56:7002 192.168.31.66:7001: MOVED 5798 192.168.31.56:7002 192.168.31.66:7000: MOVED 5798 192.168.31.56:7002 [root@artisan bin]# ./redis-trib.rb call 192.168.31.56:7003 get artisan >>> Calling GET artisan 192.168.31.56:7003: MOVED 4009 192.168.31.66:7000 192.168.31.66:7006: MOVED 4009 192.168.31.66:7000 192.168.31.176:7005: MOVED 4009 192.168.31.66:7000 192.168.31.56:7002: MOVED 4009 192.168.31.66:7000 192.168.31.176:7004: MOVED 4009 192.168.31.66:7000 192.168.31.66:7001: MOVED 4009 192.168.31.66:7000 192.168.31.66:7000: com.artisan.redis.cluster.SpringRedisCluster$Artisan@188715b5 [root@artisan bin]#
注意
命令会被分发到集群中的所有redis节点上执行
集群信息查询 (info)
功能
查看集群中各节点slot分布信息:通过查询各节点slot数、键值数,来汇总整个集群的slot信息。【通过该命令可以了解集群的数据分布情况,为rebalance提供依据】
参数
info host:port
<command>: info
集群信息查询的命令名字
<arguments>:host:port
host:port 为集群中的某个节点信息
示例
[root@artisan bin]# ./redis-trib.rb info 192.168.31.176:7005 192.168.31.66:7000 (e22926a5...) -> 2 keys | 5362 slots | 1 slaves. 192.168.31.56:7002 (504d010e...) -> 3 keys | 5361 slots | 1 slaves. 192.168.31.66:7006 (91bc7b99...) -> 0 keys | 299 slots | 0 slaves. 192.168.31.66:7001 (e00e923a...) -> 4 keys | 5362 slots | 1 slaves. [OK] 9 keys in 4 masters. 0.00 keys per slot on average. [root@artisan bin]#
自动分片平衡(rebalance)
功能
根据节点负载比重平衡各节点的slot数:根据设置的各节点slot负载比重,来检查各节点目前实际的slot比重是否一致,当不一致时进行slot重分片处理,调度相关节点进行slot的分片迁移处理,使各节点比重达到预期设置值。
参数
rebalance host:port --weight <arg> --auto-weights --use-empty-masters --timeout <arg> --simulate --pipeline <arg> --threshold <arg>
<command>: rebalance
集群分片迁移的命令名字
<options>: --weight <arg> --threshold <arg> --use-empty-masters --simulate --pipeline <arg>
weight为节点的比重,默认各节点的比重都为1(当要改变多个节点的比重时,需要分别设置不通的–weight)。格式为:节点名=比重值 (其中节点名可以只取前几位,只要能唯一匹配到该节点即可)
threshold 为各节点slot数变化阈值,默认为2。(只有当根据节点比重计算后,存在某个节点slot变化比例超过改值时,才会真正进行分片平衡处理)
use-empty-masters 无slot负载的主节点是否参与自动平衡处理,不设置时表示不参与
simulate 使用该参数表示仅进行自动平衡效果预演,并不真正进行平衡处理。
pipeline 为批量迁移键的数量,默认取值为10。
<arguments>:host:port
host:port 为集群中的某个节点信息
示例
[root@artisan bin]# ./redis-trib.rb rebalance --weight e22926a5=0.5 --weight 91bc7b99=1.2 --weight 504d010e=0.5 192.168.31.66:7000 >>> Performing Cluster Check (using node 192.168.31.66:7000) [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered. >>> Rebalancing across 4 nodes. Total weight = 3.2 Moving 2802 slots from 192.168.31.66:7000 to 192.168.31.66:7006 ################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################## Moving 2801 slots from 192.168.31.56:7002 to 192.168.31.66:7006 ################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################# Moving 242 slots from 192.168.31.66:7001 to 192.168.31.66:7006 ################################################################################################################################################################################################################################################## [root@artisan bin]#
重新查看
[root@artisan bin]# ./redis-trib.rb info 192.168.31.66:7000 192.168.31.66:7000 (e22926a5...) -> 1 keys | 2560 slots | 1 slaves. 192.168.31.66:7006 (91bc7b99...) -> 3 keys | 6144 slots | 0 slaves. 192.168.31.66:7001 (e00e923a...) -> 4 keys | 5120 slots | 1 slaves. 192.168.31.56:7002 (504d010e...) -> 1 keys | 2560 slots | 1 slaves. [OK] 9 keys in 4 masters. 0.00 keys per slot on average. [root@artisan bin]#
第一步设置的比例为 0.5:1.2 : 1 : 0.5
正好是 2560:6144:5120:2560 ,符合 0.5:1.2 : 1 : 0.5