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 更新的版本。
参考资料如下:
- 拒绝了针对 Java 9 的错误报告:CASSANDRA-9608
- 已拒绝针对 Java 10 的错误报告:CASSANDRA-14446
此外,即使文档确实表明它是 "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。
我有一个全新的 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 更新的版本。
参考资料如下:
- 拒绝了针对 Java 9 的错误报告:CASSANDRA-9608
- 已拒绝针对 Java 10 的错误报告:CASSANDRA-14446
此外,即使文档确实表明它是 "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。