Cassandra 1.0 を実行して、リングを 5 ノードから 4 ノードに縮小しています。そのためにnodetool decommission
、削除したいノードで実行し、そのホストで cassandra を停止して使用nodetool move
しnodetool cleanup
、残りの 4 ノードのトークンを更新しました。クラスターを再調整します。
シード ノードは A と B です。削除したノードは C です。
これは 6 ~ 7 日間は正常に機能しているように見えましたが、現在、4 つのノードのうちの 1 つは、廃止されたノードがまだリングの一部であると認識しています。
なぜこれが起こったのですか? また、廃止されたノードをリングから完全に削除する適切な方法は何ですか?
nodetool ring
廃止されたノードがリングの一部であるとまだ考えている 1 つのノードでの出力は次のとおりです。
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 時間実行されましたが、何も実行されなかったようです。nodetool ring
唯一の変更点は、ノード Bで実行すると、ノード C の状態が「Leaving」になっていることです。