以前使用的shell腳本部署一些軟件到新的機器環境後使用時出現標題中的error報錯提示,但以前使用是並未發生過相似的狀況。下面給出我解決的方法,有興趣的能夠繼續看一下緣由。node
首先是第一次安裝腳本沒有成功,緣由是目錄位置發生了問題,因此改進腳本後進行了再次運行腳本安裝部署redis服務(補充說明,從新安裝時有可能遇到失敗狀況,緣由是安裝編譯工具和相關工具佔用了某些進程(通常是Python相關的程序進程,若kill進程會致使編譯時出現致命錯誤,解決方法是在bash環境中從新安裝編譯環境,就是那些gcc等,不然編譯過程當中會發現缺乏相關工具或沒有一些文件從而安裝失敗)致使部署失敗的問題)redis
[root@localhost src]# pwd /usr/local/redis/src [root@localhost src]# make MALLOC=libc
此後再從新進行部署安裝便可,此時能夠發現redis的相關命令均可以使用了shell
該問題解決的方法以下:bash
[root@localhost service_project]# redis-cli --cluster fix 127.0.0.1:6379 #此後會進行fix操做設置
解決思路:緣由是集羣的hash槽未能正常運行,因此能夠去檢查集羣的slots的問題,咱們知道redis的hash槽數目是16384個,用於儲存數據的,而這些槽並未徹底被分配到全部節點ide
[root@localhost service_project]# redis-cli --cluster fix 127.0.0.1:6379 127.0.0.1:6379 (95c37af4...) -> 0 keys | 16384 slots | 0 slaves. [OK] 0 keys in 1 masters. 0.00 keys per slot on average. >>> Performing Cluster Check (using node 127.0.0.1:6379) M: 95c37af4524069ab816d326f8204420bc4a420fa 127.0.0.1:6379 slots:[0-16383] (16384 slots) master [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered. [root@localhost service_project]# redis-cli 127.0.0.1:6379> set a 1 OK 127.0.0.1:6379> get a "1"