redis集群時,出現的幾個異常問題

2021-07-30 23:43:33 字數 2178 閱讀 4686

當前 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 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  就可以了。

然後重新執行群集指令碼命令:

./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/redis-3.0.4/src 目錄下執行check指令碼:

//依次執行了下面的指令碼

./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節點都修復一下:

./redis-trib.rb fix 192.168.3.15:6380

./redis-trib.rb fix 192.168.3.15:6381

修改完畢後,重啟6379節點,

/usr/local/bin/redis-server  /my_soft/my_config/redis3/6379/redis.conf
重啟後,6379節點自動重新加入整合。

檢視各節點的情況:

/usr/local/bin/redis-cli -p 6379

/usr/local/bin/redis-cli -p 6380

/usr/local/bin/redis-cli -p 6381

使用上面的任意一條命令,登入任意乙個節點:

檢視集群節點的情況:

我們也可以使用linux的通用命令來檢視

redis集群時,出現的幾個異常問題

在 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...

部署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 ...