Cassandra 未在 Java 10 上启动

Cassandra does not start on Java 10

我有一个全新的 Windows 10 Home 安装,带有一个全新的 JDK 10.0.1 安装(这是我去 JDK 时 Oracle 推荐的下载站点。)我刚刚下载了 Cassandra 3.11.2,取消tar它,并将 bin 目录放在我的类路径中。

当我尝试使用 cassandra -f 命令 start Cassandra 时,出现此错误:

PS C:\javatools> cassandra -f
*---------------------------------------------------------------------*
*---------------------------------------------------------------------*
WARNING! Automatic page file configuration detected.
 It is recommended that you disable swap when running Cassandra
 for performance and stability reasons.
*---------------------------------------------------------------------*
*---------------------------------------------------------------------*
Failed 64-bit check. Re-running to get version from 32-bit
*---------------------------------------------------------------------*
*---------------------------------------------------------------------*
Cassandra 3.0 and later require Java 8u40 or later.

Java10分明就是"Java 8 rel 40 or later"。我证实我实际上是 运行 Java 的版本 我以为我是:

PS C:\javatools> java -version
java version "10.0.1" 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)

我怎样才能让 Cassandra 认识到我确实拥有 "Java 8u40 or later"?

Cassandra 不支持任何比 Java 8.Java 更新的版本。

参考资料如下:

此外,即使文档确实表明它是 "work in progress",它确实在 Getting Started 页面上表明了以下内容:

Prerequisites

The latest version of Java 8, either the Oracle Java Standard Edition 8 or OpenJDK 8. To verify that you have the correct version of java installed, type java -version.

虽然没有明确说明"Java 9 and newer are not supported",但显然应该是从这个指标推断出来的。

最后,误导性错误消息似乎是一个 wontfix 项目。

我已经在本地主机 (ubuntu 18.04) 的 java-11-openjdk-amd64 上 运行 cassandra 3.11.3。 (奇怪的是,java -version 显示 openjdk version "10.0.1" 2018-04-17

我在jvm.options中做了很多调整,因为很多gc选项不再被支持,而且ThreadPriorityPolicy不能设置为42。(最后最烦人的是:压缩线程是低优先级真的很好).

此外,对于 运行 nodetool 我必须通过 JAVA_HOME 指定 jvm 1.8。