卡飞资源网

专业编程技术资源共享平台

Docker 中redis集群扩容、缩容


适逢双十一等大型活动流量爆增时redis集群扛不住了,这个时候怎么办呢,不能说把redis停了,我再搭建一个5主5从集群吧,这个时候就需要用到redis自动扩容。


1、redis集群设计



redis官网有这么一段话,大概意思是 redis集群设计了16384个槽位,然后针对每个集群主节点,需要分配一些或者一个槽位,这样一来,最大就是可以有16384个集群主节点(一个槽位一个节点),但是因为redis集群超过1000个节点后,速度会变慢,所以就建议最大1000个集群主节点。


注意:这里说的是主节点


接上篇3主3配置,我们可以看到redis将16384个槽位平均分配到3个主节点



说到这里,大家知道怎么集群怎么扩容了吗,那就是将槽位再分配下呗。


2、新建6387、6388两个Redis容器节点


涉及命令:


docker run -d --name redis-node-7 --net host --privileged=true -v /usr/local/tool/volumn/redis/node-7:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6387;

docker run -d --name redis-node-8 --net host --privileged=true -v /usr/local/tool/volumn/redis/node-8:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6388;


命令选项这里就不说了,不懂的看下上篇


实例:



3、将新增的6387节点(空槽位)作为master节点加入原集群


进入任意节点(非6387、6388),执行命令


涉及命令:


#命令格式: redis-cli --cluster add-node 要新增的节点IP:Port 当前进入的节点IP:Port
redis-cli --cluster add-node 192.168.13.61:6387 192.168.13.61:6381


实例:



4、检查集群情况第1次


涉及命令:


redis-cli --cluster check 192.168.13.61:6381


实例:



5、重新分派槽位


进入任意节点(非6388),执行命令


涉及命令:


redis-cli --cluster reshard 192.168.13.61:6381


实例:





选择yes即可执行槽位重新分配


6、检查集群情况第2次


执行命令同4


实例:



7、为主节点6387分配从节点6388


涉及命令:


#格式 redis-cli --cluster add-node ip:新slave端口 ip:新master端口 --cluster-slave --cluster-master-id 新主机节点ID 
#新主机节点ID 可以通过redis-cli --cluster check 192.168.13.61:6381 查到
redis-cli --cluster add-node 192.168.13.61:6388 192.168.13.61:6387 --cluster-slave --cluster-master-id 351512dc4c50f36ac3ac9f3e334094e69fbef59f


实例:



8、检查集群情况第3次


执行命令同4


实例:



至此,redis扩容就实现了,轻松愉快的扛过活动,活动过后是不是得缩回3主3从呢?


9、删除6387从节点


进入任意节点(非6387),执行命令


涉及命令:


#格式  redis-cli --cluster del-node ip:端口  节点ID 
redis-cli --cluster del-node 192.168.13.61:6388 d106683d0f11ca8f294133dbd696f41fc85f2cde


注意:必须先删除从节点,否则报错(主节点槽位需要被分配其他主节点后才可以删除)



实例:



10、将6387主节点槽位分给其他主节点


进入任意节点,执行命令


涉及命令:


#192.168.13.61:6381 可以为任意节点IP:Port
redis-cli --cluster reshard 192.168.13.61:6381



11、删除6387节点



涉及命令:


redis-cli --cluster del-node 192.168.13.61:6387 351512dc4c50f36ac3ac9f3e334094e69fbef59f


实例:


控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言