我在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的全新安装/使它正常工作?
最佳答案
在该版本的Cassandra中,UseParNewGC
设置在 jvm.options 文件中定义。它是CMS GC JVM设置中的第一个设置。
#################
# GC SETTINGS #
#################
### CMS Settings
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC
-XX:+CMSParallelRemarkEnabled
我怀疑发生了两件事之一。
-XX:+UseParNewGC
设置。在您的jvm.options文件中再次检查。 -XX:+UseParNewGC
行是此块中的第一行,因此错误似乎在这里。上面的部分是设置堆大小参数的位置,因此我将检查是否未注释某些内容,或者是否未正确关闭引号。 java -version
检查您的Java版本。较新版本的Java(例如10或11及更高版本)不支持并行垃圾收集器。另外, Cassandra 3.x仅在Java 8 上运行,因此您实际上没有理由使用这样的最新JVM。 关于java - Cassandra无法创建Java虚拟机,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54414075/