redis删除集群节点-redis集群管理

2018-07-21|来源:

先查看一下集群节点信息:
192.168.56.101:6382> cluster nodes
03596d92625f1b778f29eb4a9128d92809dfd79a 192.168.56.101:6381 master - 0 1468857421626 2 connected 5795-10922
e6d316a0dcd7cfcc98de645d86989d5527e86e55 192.168.56.101:6383 master - 0 1468857422639 4 connected 0-332 5461-5794 10923-11255
b1939026deb80fedde7bdb22c1df3ecfaa72f608 192.168.56.101:6380 master - 0 1468857420614 1 connected 333-5460
6aa027917d223b8fedd42893a89fb0e2c07c8b27 192.168.56.101:6382 myself,master - 0 0 3 connected 11256-16383


删除集群中的某一个节点,操作步骤如下:

1、 将这个节点上的所有插槽转移到其他节点上;
a) 假设要删除6383这个节点
b) 执行脚本:[root@master redis-cluster]# /opt/redis/redis-3.2.1/src/redis-trib.rb reshard 192.168.56.101:6383
c) 选择需要转移的插槽的数量,因为6383有1000个,所以转移1000个
d) 输入转移的节点的id,我们转移到6380节点:b1939026deb80fedde7bdb22c1df3ecfaa72f608
e) 输入插槽来源id,也就是6383的id:e6d316a0dcd7cfcc98de645d86989d5527e86e55
f) 输入done,开始转移


查看集群结点信息,可以看到6383节点已经没有插槽了:

192.168.56.101:6382> cluster nodes
03596d92625f1b778f29eb4a9128d92809dfd79a 192.168.56.101:6381 master - 0 1468857808764 2 connected 5795-10922
e6d316a0dcd7cfcc98de645d86989d5527e86e55 192.168.56.101:6383 master - 0 1468857807748 4 connected
b1939026deb80fedde7bdb22c1df3ecfaa72f608 192.168.56.101:6380 master - 0 1468857809781 5 connected 0-5794 10923-11255
6aa027917d223b8fedd42893a89fb0e2c07c8b27 192.168.56.101:6382 myself,master - 0 0 3 connected 11256-16383


2、使用redis-trib.rb del-node删除节点

del-node host:port node_id
[root@master redis-cluster]# /opt/redis/redis-3.2.1/src/redis-trib.rb del-node 192.168.56.101:6383 e6d316a0dcd7cfcc98de645d86989d5527e86e55
>>> Removing node e6d316a0dcd7cfcc98de645d86989d5527e86e55 from cluster 192.168.56.101:6383
>>> Sending CLUSTER FORGET messages to the cluster...
>>> SHUTDOWN the node.


查看集群结点信息:

192.168.56.101:6382> cluster nodes
03596d92625f1b778f29eb4a9128d92809dfd79a 192.168.56.101:6381 master - 0 1468858070962 2 connected 5795-10922
b1939026deb80fedde7bdb22c1df3ecfaa72f608 192.168.56.101:6380 master - 0 1468858071980 5 connected 0-5794 10923-11255
6aa027917d223b8fedd42893a89fb0e2c07c8b27 192.168.56.101:6382 myself,master - 0 0 3 connected 11256-16383


书生参考网络整理


相关问答

更多

redis集群的理解,怎么动态增加或者删除一个节点,而保证数据不丢失

如果是搭建的是主从的话,挂掉主节点,从节点还是可以使用的,但是不会变为从节点,除非是redis集群

在redis集群中,如果主节点出现故障,怎么让子节点成为主节点

如果是搭建的是主从的话,挂掉主节点,从节点还是可以使用的,但是不会变为从节点,除非是redis集群

redis怎么设置节点为集群节点

将src下的可执行命令全部移动到/usr/local/redis/bin/目录下,执行该命令:mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-sentinel redis-server /usr/local/redis/bin,然后将配置文件移动到/usr/local/redis/etc/目录下,执行该命令:mv redis.conf /usr/local/redis/etc/。 ...

使用spring-data-redis集群redis,

用的是什么集群方式,JedisSentinelPool 还是ShardedJedisPool。 如果用的是前者,配置是需要连接sentinel端口的(默认26379),不是连接redis端口(6379)。 或者把spring相关配置文件贴出来一下。 <!-- 分片式redis集群配置 --> <bean id="jedisShardInfo1" class="redis.clients.jedis.JedisShardInfo"> <constructor-arg name="host" valu ...

使用spring-data-redis集群redis,

用的是什么集群方式,JedisSentinelPool 还是ShardedJedisPool。 如果用的是前者,配置是需要连接sentinel端口的(默认26379),不是连接redis端口(6379)。 或者把spring相关配置文件贴出来一下。 127.0.0.1:26379 127.0.0.1:26380 127.0.0.1:26381

redis教程

相关文章

更多

最近更新

更多