Redis cluster扩容的方法
redis cluster的主从默认只有主支持读和写,从库默认只是 一个热备,不负责任何的读写请求,只是在主库挂掉之后,会被选举成为主库,然后承担主库的责任;
所以,cluster的扩容是先创建一个主库,然后把槽再次平分,接着做数据迁移,当数据迁移完成后,再创建一个从库,把新主库的数据同步一份过去即可。
具体操作如下:
1.创建新主库,并且启动
2.重新计算slot,slot重新分配
执行如下命令:
./redis-cli --cluster add-node 192.169.100.252:7679 192.169.100.252:6379 -a 123456
语句的意义是:通过6379节点添加7679这个节点
然后执行如下命令:
./redis-cli --cluster reshard 192.169.100.252:7679 -a 123456
该命令的含义是集群中重新分配slot给7679;
第一个3000是移动多少slot
第二个是接收的nodeid----cluster nodes中展示的nodeid
第三个是从哪个节点移出,all代表从所有节点都会移出一部分
至此,扩容已经完成。