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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容