単一アーキテクチャー・クラスターでのデッド・ノードの置き換え
単一トークン・アーキテクチャーのクラスターで、vnodeではなくノードを置き換えるための手順。
単一トークン・アーキテクチャーのクラスターで、vnodeではなくノードを置き換えるための手順。
警告: クラスターに新しいノードのみを追加します。新しいノードとは、DataStax Enterpriseによってこれまで起動されていないシステムのことです。新しいノードでは絶対に、データ・ディレクトリー、saved_caches、commitlog、およびhintsに以前のデータを含めてはいけません。これまでテストに使用されたノードや別のクラスターから削除されたノードを追加すると、古いデータがクラスターにマージされ、重大な問題の原因になる場合があります。
手順
-
クラスター内の任意のライブ・ノードでnodetool ringを使用して、ノードがデッドであることを確認します。
Downステータスは、デッド・ノードを示します。
- 交換ノードにDataStax Enterpriseをインストールします。
-
交換ノードの既存のDataStax Enterpriseデータを削除します。
$ sudo rm -rf /var/lib/cassandra/*
-
auto_bootstrap: true
を設定します。 -
cassandra.yamlファイルの
initial_token
をデッド・ノードのトークンの値-1に設定します。initial_token: 28356863910078205288614550619314017620
- ノードのcassandra.yamlでデフォルト以外の設定を既存のクラスターに合わせて構成します。
- 新しいノードを起動します。
-
新しいノードがブートストラップを終了したら、ノードが
nodetool ring
を使用して稼働していることを確認します。 -
各キースペースでnodetool repairを実行して、すべてのノードの整合性が取られていることを確認します。
$ nodetool repair -h 10.46.123.12 keyspace_name
tarボールおよびInstaller-No Servicesのパス:installation_location/resources/cassandra/bin
-
デッド・ノードを削除します。
cassandra.yamlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストールInstaller-Servicesインストール
/etc/dse/cassandra/cassandra.yaml tarボール・インストールInstaller-No Servicesインストール
installation_location/resources/cassandra/conf/cassandra.yaml