23

cassandra 1.1.3 (tarball インストール) を含む Ubuntu 12.04 を使用しています。cassandra を起動しようとすると、次のようになります。

user@ubuntu:~/apache-cassandra-1.1.3/bin$ sudo ./cassandra -f
xss =  -ea -javaagent:./../lib/jamm-0.2.5.jar -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms4G -Xmx4G -Xmn800M -XX:    +HeapDumpOnOutOfMemoryError -Xss128k
user@ubuntu:~/apache-cassandra-1.1.3/bin$ 

Cassandra のドキュメントによると、出力は期待どおりに見えません。

The service should start in the foreground and log gratuitously to 
standard-out. Assuming you don't see messages with scary words like  
"error", or "fatal", or anything that looks like a Java stack trace,  
then chances are you've succeeded.

それで、問題は何ですか?

4

4 に答える 4

28

この問題は、Cassandra バグ レポートに記載されているように、OpenJDK を使用することによって引き起こされる可能性がありますが Sun/Oracle およびその他の JVM でこの問題が発生する場合は、こちらのコメントを参照してください。

Oracle JVM をインストールできない場合は、構成スクリプトでスタック サイズを変更してみてください。conf/cassandra-env.sh次のセクションの 185 行付近を探して、-Xss180kをより高い値に変更します。

if [ "`uname`" = "Linux" ] ; then
  # reduce the per-thread stack size to minimize the impact of Thrift
  # thread-per-client.  (Best practice is for client connections to
  # be pooled anyway.) Only do so on Linux where it is known to be
  # supported.
  # u34 and greater need 180k
  JVM_OPTS="$JVM_OPTS -Xss180k"
fi
echo "xss = $JVM_OPTS"

Rackspace と Amazon で Ubuntu サーバーへのインストールをテストする際に、280k を使用して成功しました。

以下のコメントのレポートに基づいて、-Xss200kCassandra が適切に起動するまで、スタック サイズを から始めて 20,000 単位で増やすことをお勧めします。このオプションを削除して、スレッドごとのデフォルトのスタック サイズを使用することも可能ですが、これがメモリ消費に与える影響に注意してください。

于 2013-01-21T21:28:13.880 に答える
4

これは、OpenJDK 1.6で実行しようとしたことが原因である可能性が高く、Ubuntu/Debianでセグメンテーション違反が発生します。シェルスクリプトがプロセスを実行する方法のため、セグメンテーション違反は隠されています。$ CASSANDRA_HOME / bin / cassandraを次のように変更することで、この問題をテストできます。

この行を変更します。

exec $NUMACTL "$JAVA" $JVM_OPTS $cassandra_parms -cp "$CLASSPATH" $props "$class"

これに:

echo $NUMACTL "$JAVA" $JVM_OPTS $cassandra_parms -cp "$CLASSPATH" $props "$class"

次にbin/cassandra -f、結果のjavaコマンドを実行してコピーします。これを直接実行して、セグメンテーション違反が発生するかどうかを確認します。これが問題である場合は、SunまたはIBM JDKに切り替える必要があります。あるいは、OpenJDK1.7にアップグレードすることもできます。

于 2012-10-17T19:25:45.027 に答える
-1

環境変数を正しく設定したことが確実な場合は、コマンド - ./cassandra -f startを使用してみてください

于 2014-07-11T10:22:37.497 に答える