在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(記得)