【问题标题】:Can't start Cassandra (Single-Node Cluster on CentOS7) [duplicate]无法启动 Cassandra(CentOS7 上的单节点集群)[重复]
【发布时间】:2017-10-27 15:30:23
【问题描述】:

我想用一个非常简单的单节点集群启动 Cassandra, 但我做不到。

我遵循了在

中描述的步骤

https://www.digitalocean.com/community/tutorials/how-to-install-cassandra-and-run-a-single-node-cluster-on-a-ubuntu-vps

基本上,

  1. 在 VirtualBox 上构建一个全新的 CentOS 7 虚拟机。
  2. 安装JDK,放到/usr/local/下,并创建路径。
  3. 安装了 Apache Cassandra,放在 /root/ 下,为 lib 和 log 建立了目录,并将写入权限授予 Cassandra。

最后,当我以root用户身份运行时,

# sh ~/cassandra/bin/cassandra

出现以下消息。

Running Cassandra as root user or group is not recommended - please start Cassandra using a different system user.
If you really want to force running Cassandra as root, use -R command line option.

所以,我跑了

# sh ~/cassandra/bin/cassandra -R

然后,我收到了下面的消息。

# [0.000s][warning][gc] -Xloggc is deprecated. Will use -Xlog:gc:/root/cassandra/bin/../logs/gc.log instead.
intx ThreadPriorityPolicy=42 is outside the allowed range [ 0 ... 1 ]
Improperly specified VM option 'ThreadPriorityPolicy=42'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

看来这个问题与JVM有关, 但我不知道它的原因和解决方案。

如果您有解决此问题的想法,请告诉我。

我的环境如下:

  • Windows 10
  • VirtualBox 5.1.28
  • CentOS-7-x86_64-Minimal-1611
  • jdk-9.0.1
  • apache-cassandra-3.11.1

【问题讨论】:

  • 你试过不以root身份运行它吗?
  • 用 java 8 代替 9 检查
  • @FuzzyAmi 是的,结果是一样的。
  • @undefined_variable 这变成了解决这个问题的方法,至少是最简单的方法。谢谢!
  • @skomp 请参阅我对 Simon Fontana Oscarsson 答案的评论。

标签: java linux cassandra centos


【解决方案1】:

正如 undefined_variable 所评论的,Java 8 而不是 9,工作得很好。感谢大家的帮助。

【讨论】:

    【解决方案2】:

    此问题已报告于 https://issues.apache.org/jira/browse/CASSANDRA-13107.

    要解决此问题,您可以在 jvm.options 文件中简单地注释掉此设置。

    【讨论】:

    • 我曾尝试在 jvm.options 上注释掉 'ThreadPriorityPolicy=42' 行,但它导致了一系列无休止的错误。您可能收到的下一条错误消息是“无法识别的 VM 选项 'PrintGCDateStamps'”;您可以注释掉 jvm.options 末尾的所有“-XX:+Print***”行。然后你可能会遇到“打开日志文件'~/cassandra/logs/gc.log'时出错:没有这样的文件或目录”;即使在您 mkdir "logs" 之后,下一个问题也会出现,依此类推。通过处理所有连续的问题可能会也可能不会解决原始问题,但这种方式并不是最简单的。
    • 很好,你解决了这个问题。 Cassandra 似乎还不支持 Java 9。 issues.apache.org/jira/browse/CASSANDRA-9608
    最近更新 更多