我有一个全新的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或更高版本”?
答案 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。