22

違いは何ですか:

a)nodetool rebuild

b)nodetool repair [-pr]

言い換えれば、それぞれのコマンドは正確に何をするのでしょうか?

4

1 に答える 1

30

nodetool rebuild: ブートストラップ プロセス (クラスターに新しいノードを追加するとき) に似ていますが、データセンター用です。ここでのプロセスは主に、すでに稼働中のノードから新しいノードへのストリーミングです (新しいノードは空です)。したがって、非常に高速なノードのキー範囲を定義した後、残りはコピー操作と見なすことができます。

nodetool repair -pr: コピー操作ではありません。修復中のノードは空ではなく、すでにデータが含まれていますが、レプリケーション ファクターが 1 より大きい場合は、そのデータを残りのレプリカのデータと比較する必要があります。違いは訂正します。このプロセスには多くのストリーミングが含まれますが、データ ストリーミングではありません。修復中のノードは、両方のノードが持つ情報が同じかどうかを確認するために、マークル ツリー (基本的にはハッシュのツリー) を要求します。違いのあるデータ セクションの完全なストリーム (したがって、すべてのレプリカが同じデータを持ちます)。検証前にデータ全体をストリーミングするよりも高速な場合、このハッシュをストリーミングします。これは、あちこちのいくつかの違いを除いて、ほとんどのデータが両方のノードで同じであるという前提の下で機能します。

それが役に立てば幸い!

于 2013-11-25T19:13:24.713 に答える