問題タブ [nodetool]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cassandra - Cassandra - nodetool のクリーンアップを避ける
C* リングに新しいノードを追加した場合、「nodetool cleanup」を実行して、別の場所に割り当てられたデータを削除する必要がありますか? それとも、通常の圧縮中にとにかくこれが発生しますか? 通常の圧縮中に、C* はこのノードに属さなくなったデータを削除しますか?それとも、そのために「nodetoool クリーンアップ」を実行する必要がありますか? 「クリーンアップ」には永遠に時間がかかり、終了する前にノードがクラッシュするため、質問しています。
「nodetool cleanup」を実行する必要がある場合、所有すべきではないデータを持つノードを見つける方法はありますか? (つまり、現在は新しいノードに属しているが、誰も削除していないため古いノードにまだ存在しているデータ。これは「nodetool cleanup」で削除されるデータです。) RF=3 と 2 つのデータセンターがあり、それぞれがこれにはデータの完全なコピーがあります。ノードを追加したデータセンター内のすべてのノードでクリーンアップを実行する必要があると思います。これは、新しいノードの各行が別のノード (プライマリ) にあり、さらに 2 つのコピー (レプリカ) が他の 2 つのノードにあったためです。
cassandra - Cassandra nodetool の修復によりクラスター全体がフリーズする
キースペース内の列ファミリーの 1 つでノードツールの修復を試みるときに、Cassandra に何が起こっているのかを理解するのに助けが必要です。
Cassandra 2.0.7 を実行しており、システム内のオブジェクト データのインデックス作成に使用するテーブルがあります。
行は非常に大きくなる可能性があります。データベースには約 1,000 万のオブジェクトがあり、平均して 4 ~ 6 個のフィールドがあり、上記のテーブルを介してインデックスを作成しています。私にはあまりないように思えます。
nodetool repair を実行すると、少し実行した後、次の例外がスローされるポイントに到達します。
この時点で、他のノードは応答しなくなり、TPStatus ログをスローし、実質的に応答しなくなります。システムはこれから回復しません。私たちは死んでいます。
すべてのノードで「nodetool Scrub」を実行しました。それはそれらのほとんどで機能し、一部は失敗したため、「sstablescrub」を使用しました。サブ範囲の修復を行うスクリプトを作成し、問題のある範囲を特定できましたが、それが一貫しているかどうかを判断するのに十分なテストを行っていません。生産が落ちたときのテストは厳しいので、慎重にならなければなりません。
サイドバーの質問... 進行中の修復をどのように停止しますか? 横道にそれるのが見えたら止めたい。
キースペース内の他のすべての列ファミリーは問題なく修復されることに注意してください。
他にどのような詳細を提供すればよいかわかりません。私たちはこれに対して 1 週間頭を悩ませてきましたが、行き詰まっています。
cassandra - データセンターのレプリカ全体での nodetool の修復
Cassandra 2 を使用したマルチ データ センター セットアップでの「nodetool repair」のパフォーマンスを理解したいだけです。
各データセンターに 2 ~ 4 個のレプリカを持つキースペースを用意する予定です。数十のデータセンターがあるかもしれません。書き込みは状況に応じて LOCAL_QUORUM/EACH_QUORUM の一貫性で行われ、読み取りは通常 LOCAL_QUORUM の一貫性で行われます。質問:
nodetool の修復の複雑さは、すべてのデータ センターのレプリカの数に比例して増加しますか?
それとも、nodetool の修復の複雑さは、現在のデータ センター内のレプリカの数とデータ センターの数の組み合わせに比例して増加しますか? 漠然と、このモデルは現在のデータセンターの個々のノードのそれぞれとデータを同期する可能性がありますが、他のデータセンターのレプリカに対して EACH_QUORUM のような操作を行います。
クラスターをスケーリングするには、既存のデータ センターにノードを追加するのと、全体として一定数のレプリカを想定して新しいデータ センターを追加するのとのどちらが良いですか? この質問は、nodetool 修復パフォーマンスのコンテキストで行います。
cassandra - 新しいノードが追加された場合、異なるデータセンターのノードで nodetool のクリーンアップが必要ですか?
データセンターごとに 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 を作成しています。この新しいデータセンターの外部でのデータの移動/再調整は発生しないため、他のデータセンターのノードでクリーンアップの要件はありません。私の理解が正しいかどうか、他のデータセンターのノードでクリーンアップが不要かどうかを確認できる人はいますか?
java - nodetool cleanup の実行中の java.lang.ClassCastException および java.lang.AssertionError
私はcassandra-2.0.3を使用しています。データセンターに新しいノードを追加しました(vnodeを使用)が、nodetool cleanupの実行中に取得しています
しばらくしてから再度実行しようとしたところ、java.lang.AssertionError で終了しました。
上記の例外の原因は何ですか? 簡単な解決策はありますか?
cassandra - Cassandra Cleanup が既存のクラスターから古いデータを削除するかどうか
9 TB のデータを持つ 5 ノードの cassandra クラスターがあり、クラスターにさらに 5 つのノードを追加する予定です。新しいノードを追加すると、ロード バランシングが開始され、パーティション キーのサブレンジが新しいノードにマップされます。正確に nodetool のクリーンアップを行う必要があるのはいつですか。新しいノードを開始した直後に nodetool クリーンアップを実行すると、そのサブレンジに属する古いデータがクラスター内の古いノードから削除されるかどうか。