關於Redis的cluster集羣刪除節點後再次添加節點

在cluster不小心刪除某個節點後再加入節點是個很麻煩的事(刪除之前先把cluster分配的hashslot給重新分配一下很重要

通過 redis-trib.rb del-node 你的節點地址 bd5a40a6ddccbd46a0f4a2208eb25d2453c2a8db(你的node ID(可以通過 redis-trib.rb check 查看))刪除你的節點。

刪除完後要是想重新添加回去時發現用 redis-trib.rb add-node 你的節點地址 需要掛載的集羣的節點 添加時會報錯,

[ERR] Node 192.168.XX.XX:XXXX is not empty. Either the nodealready knows other nodes (check with CLUSTER NODES) or contains some key in database 0.

出現這個的原因是這個節點之前已經加入過這個集羣了,再次加入就會爆出這樣的錯誤,你可以區配置節點的xxxx.conf文件裏找到你保存的cluster-config-fil節點信息,找到然後刪除掉,然後刪除掉該節點的數據保存RDB文件(要是開啓的AOF)也需一併刪除掉

然後運行  redis-trib.rb add-node 命令,看是否可以加入集羣。成功的話就不用往下看了



要是還是不行就得去連接到你的Redis redis-cli -h 192.168.XXX.XXX -p xxxx (你節點的地址個端口號)去flushdb一下,清空數據庫,再次add-node應該就可以了。添加節點後記得給他分配hashslot(記得)


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章