1

データセンターごとに 2 ~ 4 ノード、数十のデータセンターを持つマルチデータセンター Cassandra 2 セットアップを計画しています。各データセンターの一定数のノードに複製されたキースペースがあります。vnode ベースの展開があります。そのため、トークンはノードに自動的に割り当てられるはずです。

http://www.datastax.com/documentation/cassandra/2.0/cassandra/operations/ops_add_node_to_cluster_t.htmlのドキュメントは、新しいノードを追加するには、クラスターの他のすべてのノードでクリーンアップを実行する必要があることを示唆しています。ただし、マルチデータセンターのセットアップでの手順は明確ではありません。

私の理解では、nodetool cleanup はそのノードに属しなくなったデータを削除します。新しいデータセンターがセットアップされている場合、完全に新しいレプリカと AFAICT を作成しています。この新しいデータセンターの外部でのデータの移動/再調整は発生しないため、他のデータセンターのノードでクリーンアップの要件はありません。私の理解が正しいかどうか、他のデータセンターのノードでクリーンアップが不要かどうかを確認できる人はいますか?

4

1 に答える 1

2

あなたの理解は正しいですが、質問への答えは、キースペースを作成するときに設定したレプリケーション戦略によって異なります。すべてのキースペースで NetworkTopologyStrategy を使用している場合、複数のデータセンターは理解して説明したとおりに動作し、新しいデータセンターを追加した後のクリーンアップは必要ありません。ただし、任意のキースペースで SimpleStrategy を使用している場合、すべてのデータセンターがそのキースペースの単一のクラスターとして機能するため、新しいノードを追加した後にクリーンアップが必要になります。

cqlsh で次のコマンドを使用して、現在のレプリケーション戦略を確認できます。

describe KEYSPACE keyspacename

それが役に立てば幸い!

于 2014-08-26T15:12:15.443 に答える