redis cluster集群 ruby脚本自动分配节点出现的问题
Redis集群使用官方自带的Ruby 脚本进行管理,分配算法为chunk算法。此算法把集群的最小单位划分为一个chunk,一个chunk有两主两从, 分布在两台机器上面, 每台机器两个节点, 且4个节点内互相组成主从关系, 要求负责一个分片的主从分布在不同的机器上面。
而如果节点都为三主三从、五主五从,无法构成整数个chunk,因此会导致有一个节点的主从在一台机器上。
在从节点执行命令 “cluster replicate <master_node_id>” 让其指向正确的的主节点
此bug已经在redis5.0.4版本修复,redis已经采用redis-cli管理集群,不需要ruby脚本