【问题标题】:Can't run Cassandra on Ubuntu无法在 Ubuntu 上运行 Cassandra
【发布时间】:2013-01-22 05:31:13
【问题描述】:

我已经在 ubuntu 12.04 上安装了 Cassandra。

但是当我启动它时,出现以下错误:

cassandra -f xss = -ea -javaagent:/usr/share/cassandra/lib/jamm-0.2.5.jar -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms1493M -Xmx1493M -Xmn373M -Xss160k Segmentation fault (core dumped)

我执行了以下操作来解决它,但没有任何反应: 在/etc/conf/cassandra-env.sh 我评论了以下几行:

JVM_OPTS="$JVM_OPTS -XX:+HeapDumpOnOutOfMemoryError"

# set jvm HeapDumpPath with CASSANDRA_HEAPDUMP_DIR
if [ "x$CASSANDRA_HEAPDUMP_DIR" != "x" ]; then
    JVM_OPTS="$JVM_OPTS -XX:HeapDumpPath=$CASSANDRA_HEAPDUMP_DIR/cassandra-`date +%s`-pid$$.hprof"
fi

并以 root 身份在 shell 上运行以下命令:

unset IBM_HEAPDUMP
unset IBM_HEAP_DUMP

我该如何解决?

【问题讨论】:

  • 如果你的代码块包含反引号,它可能会搞砸显示。您可以在每个代码行的开头使用四个空格来标记为代码,同时保留代码中的反引号。
  • 为什么您认为 IBM 特定的环境变量与 jvm 在 cassandra 下崩溃的原因有关?您似乎遇到了 JVM 错误。

标签: ubuntu cassandra


【解决方案1】:

我遇到了同样的问题,发现如下:

$ cassandra -f
xss =  -ea -javaagent:/usr/share/cassandra/lib/jamm-0.2.5.jar -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms826M -Xmx826M -Xmn100M -XX:+HeapDumpOnOutOfMemoryError -Xss180k
Segmentation fault (core dumped)

好的,怎么样:

$ sudo cassandra -f
xss =  -ea -javaagent:/usr/share/cassandra/lib/jamm-0.2.5.jar -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms826M -Xmx826M -Xmn100M -XX:+HeapDumpOnOutOfMemoryError -Xss180k

..这次没有分段错误,也许'xss'部分在这种情况下只是一个模糊的调试消息?

$ ps -Af | grep cass
ubuntu    5687   959  0 15:42 pts/0    00:00:00 grep --color=auto cass

嗯,但没有启动任何进程。

对我有用的是:

$ sudo /etc/init.d/cassandra start
xss =  -ea -javaagent:/usr/share/cassandra/lib/jamm-0.2.5.jar -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms826M -Xmx826M -Xmn100M -XX:+HeapDumpOnOutOfMemoryError -Xss180k
$ ps -Af | grep cass
root      5789     1  0 15:45 ?        00:00:00 jsvc.exec -user cassandra -home [blah blah blah] org.apache.cassandra.thrift.CassandraDaemon
106       5791  5789 13 15:45 ?        00:00:06 jsvc.exec -user cassandra -home [blah blah blah] org.apache.cassandra.thrift.CassandraDaemon

...虽然我意识到它不像cassandra -f 应该在前台运行它。

我最终放弃并重新开始,通过从 DataStax 社区 AMI 启动 EC2 实例来避免手动安装:https://aws.amazon.com/amis/datastax-auto-clustering-ami-2-2

但是...我刚刚在这里找到了真正的答案:https://stackoverflow.com/a/12941854/202168

【讨论】:

    【解决方案2】:

    在此处查看我的答案https://stackoverflow.com/a/14447535/92463,其中描述了增加堆栈段大小以在 OpenJDK 上启用 Cassandra。

    【讨论】:

      猜你喜欢
      • 2015-11-04
      • 2012-09-27
      • 2019-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-03
      相关资源
      最近更新 更多