Looking for cassandra Answers? Try Ask4KnowledgeBase
Looking for cassandra Keywords? Try Ask4Keywords

cassandraカサンドラの修理


パラメーター

オプション/フラグ説明
オプション オプションの説明
-h ホスト名。デフォルトは "localhost"です。ホストを指定しない場合、修復はコマンドが実行されたのと同じホスト上で実行されます。
-p JMXポート。デフォルトは7199です。
-u ユーザー名。 JMXセキュリティが有効な場合にのみ必要です。
-pw パスワード。 JMXセキュリティが有効な場合にのみ必要です。
フラグ フラグの説明
-地元 「ローカル」データセンター内のノードからのデータの比較およびストリーム処理のみ。
-pr "Partitioner Range"の修復。レプリカのプライマリトークン範囲のみを修復します。同じデータを複数回修復することができないため、レプリカのすべての範囲を修復するよりも速くなります。このオプションを使用して1つのノードを修復する場合は、残りのクラスタにもこのオプションを使用する必要があります。
-パー並列に修復を実行します。修復作業を高速化しますが、クラスタの要求処理能力を大幅に制限します。
- ホストデータをストリーミングするノードのカンマ区切りリストを指定できます。 「良い」ノードであることがわかっている場合に役立ちます。それはCassandra 2.1+の有効なオプションとして文書化されていますが、Cassandra 2.0でも動作します。

備考

カッサンドラアンチエントロピー修復:

カッサンドラにおけるアンチエントロピー修復には、2つの異なる段階があります。効果的な修復を実行するには、両方を理解することが重要です。

  • Merkle Treeの計算 :ノードとそのレプリカの違いを計算します。

  • データストリーミング :Merkle Tree計算の結果に基づいて、データはあるノードから別のノードにストリーミングされる予定です。これは、レプリカ間でデータを同期させる試みです。

修復の停止

修復を停止するには、nodetoolからSTOP VALIDATIONコマンドを発行します。

$ nodetool stop validation

修理が完了したらどうすれば知ることができますか?

nodetool compactionstatsをチェックすることで、修復の第1段階(Merkle Tree計算)を確認nodetool compactionstatsます。

修復ストリームを確認するには、 nodetool netstatsを使用します。修復ストリームもログに表示されます。次のようにシステムログにgrepすることができます:

$ grep Entropy system.log

INFO [AntiEntropyStage:1] 2016-07-25 07:32:47,077 RepairSession.java (line 164) [repair #70c35af0-526e-11e6-8646-8102d8573519] Received merkle tree for test_users from /192.168.14.3
INFO [AntiEntropyStage:1] 2016-07-25 07:32:47,081 RepairSession.java (line 164) [repair #70c35af0-526e-11e6-8646-8102d8573519] Received merkle tree for test_users from /192.168.16.5
INFO [AntiEntropyStage:1] 2016-07-25 07:32:47,091 RepairSession.java (line 221) [repair #70c35af0-526e-11e6-8646-8102d8573519] test_users is fully synced
INFO [AntiEntropySessions:4] 2016-07-25 07:32:47,091 RepairSession.java (line 282) [repair #70c35af0-526e-11e6-8646-8102d8573519] session completed successfully

アクティブな修復ストリームは、この(Bash)コマンドでも監視できます。

$ while true; do date; diff <(nodetool -h 192.168.0.1 netstats) <(sleep 5 && nodetool -h 192.168.0.1 netstats); done

ref: nodetoolの修復が完了したらどうすればいいですか?

スタックされた、または孤立した修復ストリームを確認する方法

各ノードで、 nodetool tpstats使用してこれを監視し、 "AntiEntropy"行で "ブロック"されているものを確認できます。

$ nodetool tpstats
Pool Name                    Active   Pending      Completed   Blocked  All time blocked
...
AntiEntropyStage                  0         0         854866         0                 0
...
AntiEntropySessions               0         0           2576         0                 0
...

カサンドラの修理 関連する例