単一アーキテクチャー・クラスターでのデッド・ノードの置き換え

単一トークン・アーキテクチャーのクラスターで、vnodeではなくノードを置き換えるための手順。

単一トークン・アーキテクチャーのクラスターで、vnodeではなくノードを置き換えるための手順。

警告: クラスターに新しいノードのみを追加します。新しいノードとは、DataStax Enterpriseによってこれまで起動されていないシステムのことです。新しいノードでは絶対に、データ・ディレクトリー、saved_caches、commitlog、およびhintsに以前のデータを含めてはいけません。これまでテストに使用されたノードや別のクラスターから削除されたノードを追加すると、古いデータがクラスターにマージされ、重大な問題の原因になる場合があります。

手順

  1. クラスター内の任意のライブ・ノードでnodetool ringを使用して、ノードがデッドであることを確認します。

    Downステータスは、デッド・ノードを示します。

  2. 交換ノードにDataStax Enterpriseをインストールします。
  3. 交換ノードの既存のDataStax Enterpriseデータを削除します。
    $ sudo rm -rf /var/lib/cassandra/*
  4. auto_bootstrap: trueを設定します。
    auto_bootstrapcassandra.yamlファイルに存在しない場合、自動的にデフォルトのtrueになります。
  5. cassandra.yamlファイルのinitial_tokenをデッド・ノードのトークンの値-1に設定します。
    initial_token: 28356863910078205288614550619314017620
  6. ノードのcassandra.yamlでデフォルト以外の設定を既存のクラスターに合わせて構成します。
  7. 新しいノードを起動します
  8. 新しいノードがブートストラップを終了したら、ノードがnodetool ringを使用して稼働していることを確認します。
  9. 各キースペースでnodetool repairを実行して、すべてのノードの整合性が取られていることを確認します。
    $ nodetool repair -h 10.46.123.12 keyspace_name
    tarボールおよびInstaller-No Servicesのパス:
    installation_location/resources/cassandra/bin
  10. デッド・ノードを削除します。
    cassandra.yamlファイルの場所は、インストールのタイプによって異なります。

    パッケージ・インストールInstaller-Servicesインストール

    /etc/dse/cassandra/cassandra.yaml

    tarボール・インストールInstaller-No Servicesインストール

    installation_location/resources/cassandra/conf/cassandra.yaml