2012-01-27 11 views
1

私は既存のカサンドラクラスターにノードを追加しています。 Nodeがすべてのデータをストリーミングした後に、ブートストラップが発生しました。 netstatsは新しいノードへのストリームにデータを表示しません。 新しいノードのnodetool-infoをチェックすると、例外が表示されます。 この例外は、ブートストラッピングが滞っている理由です。ストリーミングが完了した後にブートストラップが突っ込まれた

joingノードのログファイルは次の例外を示します。しかし、その後のストリーミングは止まらなかった。このノードは例外の後もデータをストリーミングします。

java.io.EOFException:org.apache.cassandra.ioでorg.apache.cassandra.io.util.FileUtils.skipBytesFullyに825307185 のうち129546466バイト後EOF(FileUtils.java:229) .sstable.IndexHelper.skipBloomFilter(IndexHelper.java:50) at org.apache.cassandra.io.sstable.SSTableWriter $ RowIndexer.doIndexing(SSTableWriter.java:451) at org.apache.cassandra.io.sstable.SSTableWriter $ RowIndexer.index(SSTableWriter.java:364) at org.apache.cassandra.io.sstable.SSTableWriter $ Builder.build(SSTableWriter.java:315) at org.apache.cassandra.db.compaction.CompactionManager $ 9。コール(CompactionManager.java:1101) のorg.apache.cassandra.db.compaction.CompactionManager $ 9.call(CompactionManager.java:1092) のjava.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:303) のjava.util.concurrent .FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor $ Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:908) java.lang.Thread.runで) (Thread.java:662)

答えて

1

私はあなたが、ブートストラップが引っかかって、なぜこれがあることを正しいと思います。

私は既存のノードに対して "nodetool scrub"を実行し、新しいブートストラップを再試行します(最初の試行でデータを消去した後)。

0

上記の回答を追加するだけです。ノデトールスクラブでも機能しませんでしたが、ノードのいくつかは私たちの場合でも問題を残していました。

1.1にアップグレードし、sstableローダーを使用してデータを読み込むことで問題が解決されました。 これが最適な解決策であるかどうかはコメントできませんが、私たちの場合はうまくいきました。