ハードウェアの故障など、何らかの原因でデッド状態となったノードを置き換える手順。
ハードウェアの故障など、何らかの原因でデッド状態となったノードを置き換える手順。置き換えノードを準備および起動してから、これをクラスターに関連付けます。クラスターで置き換えノードを実行した後は、デッド・ノードを削除してください。
デッド・シード・ノードの置き換え
- クラスターの各ノードのファイルで、-seedsリストに既存のノードのIPアドレスを加えることで、そのノードをシード・ノードに昇格させ、デッド・シード・ノードのIPアドレスを削除(降格)します。
- 次のセクションの説明に従って、デッド・ノードを置き換えます。
デッド・ノードの置き換え
置き換えノードを準備および起動してクラスターに組み込んだら、デッド・ノードを取り除きます。
手順
クラスターの他のノードにインストールされているバージョンと同じバージョンのCassandraがインストールされていることを確認してください。「以前のリリースのインストール」を参照してください。
-
nodetool statusを使用して、ノードがデッド状態であることを確認します。
nodetoolコマンドは、デッド・ノード(DN)のダウン状態を表示します。
-
デッド・ノードのアドレスをメモします。これは、ステップ5で使用します。
-
新しいノードにCassandraをインストールします。ただし、Cassandraを起動しないでください。
Debian/Ubuntuインストールを使用した場合、ノードを停止して、データを消去してください。
-
各ノードについて、で以下のプロパティを設定します。また、スニッチに応じて、または構成ファイルを設定します。
- auto_bootstrap - このオプションがfalseに設定されている場合、trueに設定する必要があります。このオプションは、デフォルトのcassandra.yaml構成ファイルには記述されておらず、デフォルトでtrueになります。
- cluster_name - 新しいノードが参加するクラスターの名前。
- listen_address/broadcast_address - 通常、空欄のままです。そうでなければ、Cassandraの他のノードが新しいノードに接続するために使用するIPアドレスまたはホスト名を使用します。
- endpoint_snitch - Cassandraがノードを見つけたり、要求を経路指定したりするために使用するスニッチ。
- num_tokens - ノードに割り当てるvnodeの数。クラスターのノード間でハードウェアの能力が異なる場合、比例する数のvnodeを大きいマシンに割り当てることができます。
- seed_provider - 新しいノードが既存のクラスター内の少なくとも1つのノードのリストにあることを確認してください。クラスターについて学習したり、ゴシップのプロセスを確立したりするために、新しいノードが問い合わせる必要があるノードは、この設定の-seedsリストによって決まります。
- cassandra.yamlファイルおよびcassandra-topology.propertiesまたはcassandra-rackdc.propertiesファイルの既存のクラスターに対して行ったその他のデフォルト以外の設定を変更します。diffコマンドを使用して、既存のノードと新しいノードの違いを見つけて出力します。
-
replace_addressオプションを使用して、置き換えノードを起動します。
-
パッケージ・インストールを使用する場合、新しいノードがブートストラップを完了した後で、ステップ5で追加したオプションを削除します。
次のタスク
- 古いノードのIPアドレスをまたはファイルから削除します。
注意:
古いノードの情報が
ゴシップから確実に削除されるまで少なくとも72時間待ちます。プロパティ・ファイルから削除するのが早すぎると、問題が生じる場合があります。
- ノードを削除します。
cassandra-topology.propertiesファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール |
/etc/cassandra/cassandra-topology.properties |
tarボール・インストール |
install_location/conf/cassandra-topology.properties |
Windowsインストール |
C:\Program Files\DataStax Community\apache-cassandra\conf\cassandra-topology.properties |
cassandra-rackdc.propertiesファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール |
/etc/cassandra/cassandra-rackdc.properties |
tarボール・インストール |
install_location/conf/cassandra-rackdc.properties |
Windowsインストール |
C:\Program Files\DataStax Community\apache-cassandra\conf\cassandra-rackdc.properties |
cassandra.yamlファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール |
/etc/cassandra/cassandra.yaml |
tarボール・インストール |
install_location/resources/cassandra/conf/cassandra.yaml |
Windowsインストール |
C:\Program Files\DataStax Community\apache-cassandra\conf\cassandra.yaml |
cassandra-env.shファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール |
/etc/cassandra/cassandra-env.sh |
tarボール・インストール |
install_location/conf/cassandra-env.sh |
cassandra-env.ps1の場所:
Windowsインストール |
C:\Program Files\DataStax Community\apache-cassandra\conf\cassandra-env.ps1 |