百度上坑太多,如果你遇到搭建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才可以。
就是這個錯誤引起的分配槽失敗。
希望能解決您的錯誤