上一篇文章一步一步的教大家搭建了Redis的Cluster集群环境,形成了3个主节点和3个从节点的Cluster的环境。
redis-cluster集群动态扩容1、cluster集群增加操作
主节点的操作和从节点的操作,因为主、从节点在操作上会有差异,所以分来说。增加节点的顺序是先增加master主节点,然后在增加slave从节点。
1.1、增加主节点master
1.1.1、正常配置完redis.conf
daemonize yes #后台启动
port 8000
cluster-enabled yes #配置yes开启redis-cluster
#下面这个配置很重要,cluster开启必须重命名指定cluster-config-file,不能与别的节点相同,否则会启动失败,最好按主机+端口命名
cluster-config-file nodes-8000.conf
cluster-node-timeout 15000 #配置节点之间超时时间
appendonly yes
1.1.2、启动redis:
redis-cluster集群动态扩容可以看到,redis实例已经存在,是master但是没有slave,没有加入集群。
1.1.3、将192.168.158.135:8000主节点加入到cluster集群:
redis-cli --cluster add-node 192.168.158.135:8000 192.168.158.133:8000
redis-cluster集群动态扩容
cluster info 查看信息:
redis-cluster集群动态扩容cluster nodes查看信息:
redis-cluster集群动态扩容节点增加成功,但是没有数据slots。
1.1.4、分配数据slots:
分配方法是从集群中知道任何一个主节点(只有master主节点才有数据slots),然后对其进行重新分片工作。
redis-cluster集群动态扩容redis-cluster集群动态扩容填入slots数值 (计算方式: 16384/主节点个数 eg:16384/(原来3个主节点+新主节点)= 4096)
redis-cluster集群动态扩容
分配完成,再次查看cluster nodes:
redis-cluster集群动态扩容
1.2、增加从节点slave
1.2.1、增加从节点和增加主几点的1.1.1-1.1.4是一样的,这里不再重复。
增加完成后:
redis-cluster集群动态扩容1.2.2、指定192.168.158.137节点作为192.168.158.135的从节点,实现主从的配置。
cluster replicate 主节点ID
redis-cluster集群动态扩容2、Ccluster集群删除操作
删除的顺序是先删除save从节点,然后在删除master主节点
2.1、删除从节点
redis-cli --cluster del-node IP:port 节点ID
删除前:
redis-cluster集群动态扩容执行删除操作:
redis-cluster集群动态扩容删除后:
redis-cluster集群动态扩容已经没有192.168.158.137节点,删除成功。
2.2、删除主节点
因为在master主节点上有数据槽(slots),为了保证数据的不丢失,必须把这些数据槽迁移到其他master主节点上,然后再删除该主节点。
2.2.1、迁移数据槽:
redis-cli --cluster reshard ip:port
redis-cluster集群动态扩容
执行完成:
redis-cluster集群动态扩容
待删除主节点已经没有数据槽了:
redis-cluster集群动态扩容
2.2.2、删除主节点
rediss-cli --cluster del-node ip:port 节点ID

redis-cluster集群动态扩容
查看192.168.158.135节点已删除:
redis-cluster集群动态扩容

相关文章: