仮想ノードを使用する場合にノードを追加する手順。
仮想ノード(vnode)により、既存のクラスターへのノードの追加が大幅に簡素化されます。
- トークンを計算して各ノードに割り当てる必要はなくなりました。
- また、クラスターに参加するノードがデータを均等に引き受けるため、クラスターのバランス調整をする必要はなくなりました。
vnodeの仕組みの詳細な説明については、「仮想ノード」を参照してください。
ラックを使用する場合は、両方のノードが同じラックにある場合、一度に2つのノードを安全にブートストラップできます。
手順
クラスターの他のノードにインストールされているバージョンと同じバージョンのCassandraがインストールされていることを確認してください。「以前のリリースのインストール」を参照してください。
-
新しいノードにCassandraをインストールします。ただし、Cassandraを起動しないでください。
DebianインストールまたはWindowsインストールの場合、Cassandraは自動的に起動するため、ノードを停止し、データを消去する必要があります。
-
各ノードについて、で以下のプロパティを設定します。また、スニッチに応じて、または構成ファイルを設定します。
- 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コマンドを使用して、既存のノードと新しいノードの違いを見つけて出力します。
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 |
-
nodetool statusを使用して、ノードは完全にブートストラップされ、その他すべてのノードがアップ(UN)状態であり、他の状態ではないことを確認します。
-
新しいノードをすべて起動したら、既存のノードのそれぞれでnodetool cleanupを実行し、これらのノードに属さなくなったキーを削除します。1つのノードでクリーンアップが完了するまで待ってから、次のノードのnodetool cleanupを実行してください。
クリーンアップは、利用が少ない時間帯まで延期しても安全です。