redis-cluster 配置,新增节点,删除节点

一: 假设有6个redis:

172.16.251.5:6379     172.16.251.6:7379
172.16.251.5:6380     172.16.251.6:7380
172.16.251.5:6381     172.16.251.6:7381

二: 新建:
在任意节点上执行:

redis-trib.rb create --replicas 1 172.16.251.5:6379 172.16.251.5:6380 172.16.251.5:6381 172.16.251.6:7379 172.16.251.6:7380 172.16.251.6:7381

上面的--replicas 1 表示每个主节点有1个从节点
使用redis-trib.rb时可能会遇到ruby依赖的问题,可通过:
yum install ruby && gem install redis -v 3.0.5 解决

三:增加节点
假设现在新增 172.16.251.5:6382 172.16.251.6:7382俩个redis
新增1个主节点172.16.251.5:6382

redis-trib.rb add-node 172.16.251.5:6382 172.16.251.5:6379

172.16.251.5:6382: 为新增的节点   172.16.251.5:6379为老集群中的任一节点

使用redis-trib.rb reshard 给新增的节点分配数据槽
redis-trib.rb reshard 172.16.251.5:6382

172.16.251.5:6382新增一个从节点:

redis-trib.rb add-node 172.16.251.6:7382 172.16.251.5:6379

redis-cli -h 172.16.251.6 -p 7382
172.16.251.6:7382> cluster replicate d02b1ec797d792229905115b242f4b8e7093b7ae
OK
172.16.251.6:7382>

其中d02b1ec797d792229905115b242f4b8e7093b7ae为172.16.251.5:6382这个主节点在集群中的ID

四: 删除节点
假设现在需要删除172.16.251.5:6382 172.16.251.6:7382这俩个节点

1:先将从节点删除:
./redis-trib.rb del-node 172.16.251.6:7382 d61d0229976a47272177483e6a979a10828c2d9f 
d61d0229976a47272177483e6a979a10828c2d9f为这个节点的ID

2: reshard掉主节点上面的数据:
redis-trib.rb reshard 172.16.251.5:6382

3:删除node
redis-trib.rb del-node 172.16.251.5:6382 d02b1ec797d792229905115b242f4b8e7093b7ae

你可能感兴趣的:(redis-cluster 配置,新增节点,删除节点)