在/my_soft/redis安裝包及jar包/redis-3.0.4/src 目錄下
執行redis 集群安裝命令:
[sql]view plain
copy
./redis-trib.rb create
--replicas 0 192.168.3.15:6379 192.168.3.15:6380 192.168.3.15:6381
命令時,出現了
in `call': err slot 8579 is already busy (redis::commanderror)
如下圖所示:
錯誤提示是
slot插槽被占用了(這是 搭建集群前時,以前redis的舊資料和配置資訊沒有清理乾淨。)
解決方案是
用redis-cli 登入到每個節點執行 flushall 和 cluster reset 就可以了。
然後重新執行群集指令碼命令:
[sql]view plain
copy
./redis-trib.rb create
--replicas 0 192.168.3.15:6379 192.168.3.15:6380 192.168.3.15:6381
redis群集搭建成功後,6379節點莫名其的宕機,重啟了幾次,一會兒就又宕機了。
在/my_soft/redis安裝包及jar包/redis-3.0.4/src 目錄下執行check指令碼:
[sql]view plain
copy
//依次執行了下面的指令碼
./redis-trib.rb check 192.168.3.15:6379
./redis-trib.rb check 192.168.3.15:6380
./redis-trib.rb check 192.168.3.15:6381
其中,6379節點出現了:[err] not all 16384 slots are covered by nodes.如下圖所示:
slot插槽出問題了,修復slot 執行下面的命令:
當然了,我們也可以把6380、6381節點都修復一下:
[sql]view plain
copy
./redis-trib.rb fix 192.168.3.15:6380
./redis-trib.rb fix 192.168.3.15:6381
修改完畢後,重啟6379節點,
[plain]view plain
copy
/usr/local/bin/redis-server /my_soft/my_config/redis3/6379/redis.conf
重啟後,6379節點自動重新加入整合。
檢視各節點的情況:
[sql]view plain
copy
/usr/local/bin/redis-cli -p 6379
/usr/local/bin/redis-cli -p 6380
/usr/local/bin/redis-cli -p 6381
使用上面的任意一條命令,登入任意乙個節點:
檢視集群節點的情況:
我們也可以使用linux的通用命令來檢視
redis集群時,出現的幾個異常問題
當前 redis 的部署情況是 192.168.3.15 6379 192.168.3.15 6380 192.168.3.15 6381 在 my soft redis redis 3.0.4 src 目錄下 執行redis 集群安裝命令 redis trib.rb create replicas...
部署Redis集群遇見的異常
需要將提示節點中的資料清空,在節點目錄中,選擇相應埠 redis cli p7001 flushdb1.redis.clients.jedis.exceptions.jedisconnectionexception could not get a resource from the pool 可能是...
service stop時出現異常
sbin service line 66 23299 terminated env i lang lang path path term term 原因是 我把管理指令碼的名稱設為和後台程序名稱一樣,即 後台程序名稱 deamon name,指令碼名稱 etc init.d deamon name ...