百度上坑太多,如果你遇到搭建redis集群的时候出现这个错误在百度上找到解决办法基本上都是坑。

首先集群搭建完成后,你肯定去登陆redis进行测试

1.redis01/redis-cli -h "xxx.xxx.xxx.xxx" -p 8001 -c

登陆进去测试

xxx.xxx.xxx.xxx>set test aaa

报错(error) CLUSTERDOWN Hash slot not served

重点:

没有分配槽,因为redis集群要分配16384个槽来储存数据,那么没有分配槽则报如上错误

什么原因呢?

99%的原因是最后使用ruby来搭建集群的时候纯手贱错误操作

./redis-trib.rb create --replicas 1 xxx.xxx.xxx.xxx:8001 xxx.xxx.xxx.xxx:8002 xxx.xxx.xxx.xxx:8003 xxx.xxx.xxx.xxx:8004 xxx.xxx.xxx.xxx:8005 xxx.xxx.xxx.xxx:8006

上面执行完时会出现提示

Can I set the above configuration? (type 'yes' to accept):

你需要输入yes,而并非缩写 y,因为玩linux的都习惯的会输入 y,但是这里不行,要全拼yes才可以。

就是这个错误引起的分配槽失败。

希望能解决您的错误