java - Cassandra 无法创建 Java 虚拟机

标签 java cassandra

我在 Mac 操作系统上运行 cassandra -f 并立即发生这种情况:

[0.002s][warning][gc] -Xloggc is deprecated. Will use -Xlog:gc:/usr/local/apache-cassandra-3.0.10/logs/gc.log instead.
Unrecognized VM option 'UseParNewGC'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.```

我不知道为什么会这样。我做了正确的

export CASSANDRA_HOME=/usr/local/apache-cassandra-3.0.10
export PATH=$PATH:$CASSANDRA_HOME/bin

但它仍然无法正常工作。

这与我的 Java 版本有关吗?我怎样才能完全干净地安装 Cassandra/让它工作?

最佳答案

在该版本的 Cassandra 中,UseParNewGC 设置在 jvm.options 文件中定义。这是 CMS GC JVM 设置 block 中的第一个设置。

#################
#  GC SETTINGS  #
#################

### CMS Settings

-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:+CMSParallelRemarkEnabled

我怀疑正在发生以下两件事之一。

  1. -XX:+UseParNewGC 设置可能未正确指定。在您的 jvm.options 文件中仔细检查这一点。
  2. 更有可能的情况是,之前对 jmv.options 文件所做的错误编辑导致了我上面显示的 block 上方。由于 -XX:+UseParNewGC 行是此 block 中的第一行,因此错误出现 在这里。上面的部分是设置堆大小参数的地方,因此我会检查是否有未注释的内容或可能没有正确关闭引号。
  3. 使用 java -version 检查您的 Java 版本。较新版本的 Java(如 10 或 11 及更高版本)不支持并行垃圾收集器。此外,Cassandra 3.x 只能在 Java 8 上运行,因此您真的没有理由使用最新的 JVM。

关于java - Cassandra 无法创建 Java 虚拟机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54414075/

相关文章:

java - TabbedPane 迭代 for 循环

java - 如何在java中解析MM/dd格式的日期

ant - 无法构建 Cassandra 源

cassandra - Storm Bolt 数据库连接

java - 使用 Java 获取 HTML - 一些字符未正确获取

java - Android 上字符的大小

java - Cassandra cluster.close 延迟

docker - 大容量安装防止在容器中启动

java - spark cassandra 连接器使用哪些系统表?

java - Drools 规则条件 - 检查属性是否为空