Cassandra并不是从Java 10开始的

时间:2018-05-16 03:50:08

标签: cassandra cassandra-3.0

我有一个全新的Windows 10 Home安装,全新安装JDK 10.0.1(这是我在访问JDK下载站点时推荐的。)我刚刚下载了Cassandra 3.11.2,un -tar'd它,并将bin目录放在我的类路径上。

当我尝试使用cassandra -f命令启动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.

Java 10显然是“Java 8 rel 40或更高版本”。事实上,我确认我正在运行我认为的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或更高版本”?

2 个答案:

答案 0 :(得分:7)

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

参考文献如下:

此外,即使文档确实表明它是“正在进行的工作”,它也会在Getting Started页面上显示以下内容:

  

先决条件

     

最新版本的Java 8,即Oracle Java标准版   8或OpenJDK 8.验证您是否具有正确的java版本   安装,输入java -version。

虽然它没有明确说“不支持Java 9及更新版本”,但显然应该从这个指标中推断出来。

最后,误导性错误消息似乎是一个不正确的项目。

答案 1 :(得分:0)

我设法在本地主机(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。