在搭建Redis6.x版本的集群环境曾出现各节点无法互相发现与Hash槽分配异常 CLUSTERDOWN Hash slot not served的情况,故而把解决方式记录下来。
在一台虚拟机机器搭建Redis集群——
192.168.25.116:6380
192.168.25.116:6381
192.168.25.116:6382
192.168.25.116:6383
192.168.25.116:6384
192.168.25.116:6385
启动Redis集群,然后连接其中一个节点,随便add一个指令,测试集群是否可行,结果报出异常(error) CLUSTERDOWN Hash slot not served提示——
[root@localhost rediscluster]# redis-cli -c -h 192.168.25.116 -p 6381
192.168.25.116:6381> zadd z1 1 a
(error) CLUSTERDOWN Hash slot not served
首先,先看一下集群各个节点是否能互相发现,执行以下指令查看各个节点连接情况——
192.168.25.116:6381> cluster nodes
8c5809df064ad7234c6475555411afda026c230f :6381@16381 myself,master - 0 0 0 connected
接着再检查一下当前集群状态,发现目前状态为fail,说明集群没有互连成功——
192.168.25.116:6381>