2016-06-22 6 views
0

私たちは約40GBのデータを持つ単一ノードのクラスタを持っています。我々は、クラスタに2番目のノードを拡張して追加しようとしていますが、そうすることはできません。 シードノードはデータのストリーミングを開始しますが、しばらくするとエラーがスローされます。 エラーは次のとおりです。スケールcassandraストリーミングエラー(ヌルポインタ例外)

ERROR [STREAM-OUT-/10.0.0.166] 2016-06-21 12:18:40,300 StreamSession.java:520 - [Stream #862ed0e0-37a7-11e6-b0b9-3fa2170fe9a5] Streaming error occurred 
java.lang.NullPointerException: null 
    at org.apache.cassandra.db.SerializationHeader$Component.access$500(SerializationHeader.java:283) ~[apache-cassandra-3.3.jar:3.3] 
    at org.apache.cassandra.db.SerializationHeader$Serializer.serialize(SerializationHeader.java:430) ~[apache-cassandra-3.3.jar:3.3] 
    at org.apache.cassandra.streaming.messages.FileMessageHeader$FileMessageHeaderSerializer.serialize(FileMessageHeader.java:208) ~[apache-cassandra-3.3.jar:3.3] 
    at org.apache.cassandra.streaming.messages.OutgoingFileMessage.serialize(OutgoingFileMessage.java:84) ~[apache-cassandra-3.3.jar:3.3] 
    at org.apache.cassandra.streaming.messages.OutgoingFileMessage$1.serialize(OutgoingFileMessage.java:48) ~[apache-cassandra-3.3.jar:3.3] 
    at org.apache.cassandra.streaming.messages.OutgoingFileMessage$1.serialize(OutgoingFileMessage.java:40) ~[apache-cassandra-3.3.jar:3.3] 
    at org.apache.cassandra.streaming.messages.StreamMessage.serialize(StreamMessage.java:48) ~[apache-cassandra-3.3.jar:3.3] 
    at org.apache.cassandra.streaming.ConnectionHandler$OutgoingMessageHandler.sendMessage(ConnectionHandler.java:363) ~[apache-cassandra-3.3.jar:3.3] 
    at org.apache.cassandra.streaming.ConnectionHandler$OutgoingMessageHandler.run(ConnectionHandler.java:335) ~[apache-cassandra-3.3.jar:3.3] 
    at java.lang.Thread.run(Thread.java:745) [na:1.8.0_72-internal] 

私はnodetoolは再びそれを再開ブートストラップ行うとデータストリーミングを開始しますが、いくつかのスロー同じエラーの後。

cassandra 3.3にバグがありますか、私が間違っている可能性があります。

+0

私も同じ問題に直面しており、これらのリンクを参照することでこれらの問題を解決できます。 [https://issues.apache.org/jira/browse/CASSANDRA-10961][1] –

答えて

0

このticketにについて:

は、あなたがこの、多分可能な解決策を確認しましたか?

  1. スキーマを取得してください:DESC SCHEMA;
  2. 新しいノードでcqlshを実行します。
  3. スキーマをインポートします。
  4. 新しいノードをクラスタに追加します。

またはあなたはそれを修正//編集 サンジーブ

カサンドラ3.4に更新することができます。 SSTableはカサンドラ版ではなかった。

nodetool upgradesstables 

この問題が解決されました。

+0

あなたが言及したチケットは、私が得るものではなく、別の例外のためのものです。 – sanjeev

+0

はい、私は知っていますが、あなたはそれをチェックしましたか? –

+0

どちらも完全に異なる例外です。また、例外をスローする前に、ノード間でデータが転送されます。 – sanjeev

0

同様の問題があります。私のログによると

見つかり
cat /var/log/cassandra/system.log 

Caused by: java.io.FileNotFoundException: /home/cassandra/data/system/compactions_in_progress-55080ab05d9c388690a4acb25fe1f77b/system-compactions_in_progress-tmp-ka-72-Data.db (No space left on device) 

が問題:

df -h 

そしてカサンドラのデータとcommitlogsが置かれているパーティションに残された空間をご確認ください。おそらくあなたはデフォルト(/ var/lib)を使用していて、ルートパーティションはいっぱいになっているかもしれません(通常はOSのインストール時にデフォルトで50Gbであり、/ varを含みます)