Cassandra无法创建Java虚拟机

时间:2019-01-29 04:56:50

标签: java cassandra

我在Mac OS上并且运行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的全新安装/正常工作?

2 个答案:

答案 0 :(得分:1)

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

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

### CMS Settings

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

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

  1. 可能未正确指定-XX:+UseParNewGC设置。仔细检查您的jvm.options文件。
  2. 更可能的情况是,对我上面显示的代码块上方的jmv.options文件进行的先前错误编辑导致了该问题。由于-XX:+UseParNewGC行是该块的第一行,因此错误出现。上面的部分是设置堆大小参数的位置,因此我将检查是否未注释注释或是否未正确关闭引号。

答案 1 :(得分:0)

Apache Cassandra 3.11.10 仅与 Java 8 一起运行。 在 PowerShell 中将执行策略设置为 Unrestricted

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted

Set-ExecutionPolicy 不受限制

如果您遇到与 Sigar 相关的错误,请在 Conf 文件夹下的 cassandra-env.ps1 文件中注释该行。

评论下面的行

# $env:JVM_OPTS = "$env:JVM_OPTS -Djava.library.path=""$env:CASSANDRA_HOME\lib\sigar-bin"""