運行Cassandra 1.0時,我將一個環從5個節點縮小到4個。爲此,我在要刪除的節點上運行nodetool decommission
,然後在該主機上停止cassandra並使用nodetool move
和nodetool cleanup
更新其餘4個節點上的令牌以重新平衡羣集。完全刪除已停用的Cassandra節點
我的種子節點A和B.我刪除的節點是C.
這似乎爲6-7天正常工作,但現在我的四個節點之一認爲退役節點仍然部分環。
爲什麼會發生這種情況,以及從環中完全刪除退役節點的正確方法是什麼?
下面是nodetool ring
所述一個節點上的輸出仍認爲退役節點是該環的一部分:
Address DC Rack Status State Load Owns Token
127605887595351923798765477786913079296
xx.x.xxx.xx datacenter1 rack1 Up Normal 616.17 MB 25.00% 0
xx.xxx.xxx.xxx datacenter1 rack1 Up Normal 1.17 GB 25.00% 42535295865117307932921825928971026432
xx.xxx.xx.xxx datacenter1 rack1 Down Normal ? 9.08% 57981914123659253974350789668785134662
xx.xx.xx.xxx datacenter1 rack1 Up Normal 531.99 MB 15.92% 85070591730234615865843651857942052864
xx.xxx.xxx.xx datacenter1 rack1 Up Normal 659.92 MB 25.00% 127605887595351923798765477786913079296
下面是nodetool ring
其他3個節點上的輸出:
Address DC Rack Status State Load Owns Token
127605887595351923798765477786913079296
xx.x.xxx.xx datacenter1 rack1 Up Normal 616.17 MB 25.00% 0
xx.xxx.xxx.xxx datacenter1 rack1 Up Normal 1.17 GB 25.00% 42535295865117307932921825928971026432
xx.xx.xx.xxx datacenter1 rack1 Up Normal 531.99 MB 25.00% 85070591730234615865843651857942052864
xx.xxx.xxx.xx datacenter1 rack1 Up Normal 659.92 MB 25.00% 127605887595351923798765477786913079296
更新: 我試圖刪除在節點B上使用nodetool removetoken
的節點,它仍然聲稱節點C在環中。該命令運行了5個小時,似乎沒有做任何事情。唯一的變化是,節點C的狀態是「離開」現在,當我在節點B