Cassandra和Java 9 - ThreadPriorityPolicy = 42超出允许范围

Mar*_*tak 24 jvm jvm-arguments cassandra java-9

最近我从官方网站安装了JDK 9和Apache Cassandra.但是现在当我在前台启动cassandra时,我得到了这样的信息:

apache-cassandra-3.11.1/bin$ ./cassandra -f

[0.000s][warning][gc] -Xloggc is deprecated. Will use -Xlog:gc:/home/mmatak/monero/apache-cassandra-3.11.1/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.
Run Code Online (Sandbox Code Playgroud)

到目前为止,我没有找到任何解决方案.Java 9和Cassandra可能还不兼容吗?这也是提到的问题 - #CASSANDRA-13107

但我不知道如何"删除旗帜"?在哪里可以覆盖或删除此标志?

wia*_*ise 7

我有完全相同的问题: 无法启动Cassandra(CentOS7上的单节点集群)

如果它是一个选项,使用Java 8而不是9,是解决问题的最简单方法.

  • 是的,目前我将它降级为Java 8.我希望这个错误很快就会得到修复. (2认同)

小智 7

@Martin Matak只需注释掉conf/jvm.options文件中的这一行:

########################
# GENERAL JVM SETTINGS #
########################



# allows lowering thread priority without being root on linux - probably
# not necessary on Windows but doesn't harm anything.
# see http://tech.stolsvik.com/2010/01/linux-java-thread-priorities-workaround.html
**#-XX:ThreadPriorityPolicy=42**
Run Code Online (Sandbox Code Playgroud)

  • 那么后果是什么? (6认同)

小智 6

设置以下环境变量可解决MAC中的问题 export JAVA8_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home