Apache Cassandraでスタックしたメジャーコンパクションを解決する方法


14

現在、1つのノードであるCassandraクラスターがありますが、現在は主要な圧縮プロセスで停止しています。を実行するnodetool compactと、圧縮が開始され、0バイトのサイズのtmp-sstableファイルが表示されます。しかし、それだけです。何時間も進行しません。

Cassandraサービスはすでに停止していますが、再起動後、進行することなく再び圧縮が続行されました。A nodetool compactionstatsは、0,00%の進捗と6分の残り時間を示します。しかし、私はすでに24時間待っていました。それまでの間、私はすべてのリーダーとライターを違いを見ることなく止めました。

使用しているバージョンは2.1.2です。OpenJDK 7とOracleのJava 7を試してみましたが、違いはありません。

ログには、OOMやその他の例外や警告の兆候は示されません。

それが助けになるかどうかはわかりませんが、私はニーズに合わないため、現在Cassandraから移行しています。そのため、移行された多くのデータを削除します。数百から数千の列を持つ多くの行があります。しかし、数百万の列を持つ少数の行があります。移行(削除)プロセスのために、今では多くの墓石があります。

問題のデバッグ方法に関するヘルプを歓迎します。


ただのアイデア、あなたは/ var / log / syslogを見ましたか、または多くのファイルopen / VM maxmemのようなものがどこに記録されますか?
アントニーギブス14

@AntonyGibbsそのようなものはありません。圧倒的な物理サーバーです。他のサービスはCassandraの横でスムーズに実行されます。
mailq 14

1
プロセスがCPUバウンド、I / Oバウンド、または他の何かを待ってブロックされているかどうかを確認しましたか?
カスペルド14

1
起動されたJava仮想マシンの設定は何ですか?Javaインスタンスが128Mに制限されている場合、強力なサーバーになる可能性があります。ログに何の音が...私は、メモリの制限を思わせる
アントニーギブス

1
ulimit -aCassandraユーザーコンソールからの出力が便利な場合があります。
アントニーギブス14

回答:


1

はcassandraの専門家ではありませんが、nodetool stop compactionを試し、圧縮のしきい値(setcompactionthresholdを0)に設定して、システムが再試行しないようにしました


nodetool stop-COMPACTION助けにはなりませんでした。仕事はまだ続いています。
ジガーシャー

@JigarShah OPと同じ質問?新しい答えを引き付けるために、新しい質問をする必要があります。多分私のソリューションいけないのヘルプとしてあなたが、OPを助けた
yagmoth555
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.