天津渔网价格虚拟社区

建哥手把手系列之30分钟搞定动态添加删除redis集群节点

AAA软件教育官方2019-10-09 09:49:01




01

1.1. 添加集群节点




如果集群节点不够,需要往集群中添加节点时,请跟着建哥按照下面的操作进行:


1
 网络规划,新加入两个节点(Master:7007 slave:7008)。
2
拷贝节点的配置信息(修改端口号)。



3
启动节点


redis-server /usr/local/redis_cluster/7007/redis.conf

redis-server /usr/local/redis_cluster/7008/redis.conf


4
添加节点到集群


查看原集群的节点信息

/usr/local/bin/redis-trib.rb add-node 192.168.153.105:7007 192.168.153.105:7001

新节点:192.168.153.105:7007

任意老节点:192.168.153.105:7001

错误:

解决方法:

1:删除配置文件/var/lib/redis/nodes-7007.conf,并且使用flushall删除所有的key。

2:杀死7007对应的节点进程

3:重新启动7007对应的节点

redis-server /usr/local/redis_cluster/7007/redis.conf

4:加入节点到集群

/usr/local/bin/redis-trib.rb add-node 192.168.153.105:7007 192.168.153.105:7001


5
将主节点修改为备节点


1:使用备节点进入命令行

2:cluster replicate 主节点的nodeID



6
给新加入的节点分配槽位


./redis-trib.rb reshard 192.168.153.105:7007How many slots do you want to move (from 1 to 16384)? 1000What is the receiving node ID? 2b7bb3be16460f2e0848c69cef3acc68f655a041 //新主节点idSource node #1:all //all表示从所有主节点中转移2000个哈希槽Do you want to proceed with the proposed reshard plan (yes/no)? yes //确认分配


7
 测试效果





2

 删除集群节点




如果需要更换节点硬件,那么需要首先从集群中删除节点,具体请跟着建哥做如下操作:


1
 删除备节点


/usr/local/bin/redis-trib.rb del-node 192.168.153.105:7008 b72468282a26e16ba18df56197c21b52fc84b3df

节点ip:192.168.153.105

节点端口号:7008

节点nodeid:b72468282a26e16ba18df56197c21b52fc84b3df


2
删除主节点


按照上面的方法删除主节点的时候,会报下面的错误:

需要将7007 上的所有999个槽位移动到7003(任一主节点)上。

./redis-trib.rb reshard 192.168.153.105:7007How many slots do you want to move (from 1 to 16384)? 999What is the receiving node ID? 2b7bb3be16460f2e0848c69cef3acc68f655a041 //7003Source node #1: e4a62c87832662366e970c93c313ae9499dcfbb7(7007的nodeId) Do you want to proceed with the proposed reshard plan (yes/no)? yes //确认分配

最后删除没有槽位的7007节点


3
删除节点集群配置文件


查找并删除nodes-7007.conf,nodes-7008.conf

别人笑我太疯癫,  我笑他人看不穿。
不见五陵豪杰墓,  无花无酒锄作田。


AAA软件教育(大学生实训校区)

地址:郑州市金水区景致路牛顿国际A座六楼

电话:0371-56576789

官网:www.zzaaa.net