錯誤描述
在遷移一個節點上的slot到另一個節點的時候卡在其中的一個slot報錯,截圖如下:
查詢發現在15495的這個slot上面存在一個key,但是並沒有發現這個key有什麼問題。使用fix進行修復也還是不行。
解決辦法1:
修復遷移節點
redis-trib.rb fix 127.0.0.1:7003
再執行check,如果沒有報錯繼續遷移
解決辦法2:登入提示錯誤的兩個節點執行以下清除命令
cluster setslot 15495 stable
解決辦法3:
刪除15495這個slot上的key再執行fix修復
del key
redis-trib.rb fix 127.0.0.1:7003
注意:如果通過上面的方法處理過後還是會報錯,那就有可能是預設gem安裝的redis-4.0.0的問題,需要安裝老一點版本的gem,redis-3.2.2.gem的連結下載地址如下:
https://rubygems.global.ssl.fastly.net/gems/redis-3.2.2.gem
安裝方法:
gem install redis-3.2.2.gem
解除安裝方法
gem uninstall redis-4.0.0.gem
備註: 作者:pursuer.chen 部落格:http://www.cnblogs.com/chenmh 本站點所有隨筆都是原創,歡迎大家轉載;但轉載時必須註明文章來源,且在文章開頭明顯處給明連結,否則保留追究責任的權利。 《歡迎交流討論》 |