我正在尝试在 datastax 中运行 cassandra 3.0。但是我收到一条错误消息,说 Cassandra 3.0 及更高版本需要 Java 8u40 或更高版本。
我已经安装了 java 并将 jdk1.8.0_65 移动到/usr/local/java
并将 JAVA_HOME 设置为/usr/local/java/jdk1.8.0_65
.
但我仍然面临以下错误:
Cassandra 3.0 及更高版本需要 Java 8u40 或更高版本。
我正在尝试在 datastax 中运行 cassandra 3.0。但是我收到一条错误消息,说 Cassandra 3.0 及更高版本需要 Java 8u40 或更高版本。
我已经安装了 java 并将 jdk1.8.0_65 移动到/usr/local/java
并将 JAVA_HOME 设置为/usr/local/java/jdk1.8.0_65
.
但我仍然面临以下错误:
Cassandra 3.0 及更高版本需要 Java 8u40 或更高版本。
我在 CentOS 7 上安装了 Cassandra 3.2 DataStax Distribution rpm,并遇到了同样的问题。Cassandra 启动脚本仅在预定义的路径列表中/etc/rc.d/init.d/cassandra
查找二进制文件。java
JVM_SEARCH_DIRS="/usr/lib/jvm/jre /usr/lib/jvm/jre-1.7.* /usr/lib/jvm/java-1.7.*/jre"
如果您的 java 二进制文件是/usr/jdk64/jdk1.8.0_60/jre/bin/java
,则附加/usr/jdk64/jdk1.8.0_60/jre
到JVM_SEARCH_DIRS
或/usr/lib/jvm/jre
为/usr/jdk64/jdk1.8.0_60/jre
.
检查你的java版本。如果您的 Java 版本是“1.8.0_40”以后。转到这个文件 apache-cassandra-3.7\conf\cassandra-env.ps1 并搜索这个词 JVM_VERSION.CompareTo("1.8.0_40") 然后更改为您的版本。例如,如果您使用 java 1.8.0_102,则更改为 JVM_VERSION.CompareTo("1.8.0_102")。
现在,检查。它会起作用的。
我也有同样的问题。我的解决方案是编辑文件 apache-cassandra-3.7/bin/cassandra。在包含“#!/bin/sh”(第 2 行)的行下面,您可以像下面这样放置行
JAVA_HOME="/path/of/your/jdk"
例子 :
JAVA_HOME="/opt/jdk1.8.0_101"
希望此解决方案可以帮助您和其他人
我通常通过将我的特定添加JAVA_HOME
到随.
添加:在每个。(或者,如果您希望能够在不重新编辑这些文件的情况下交换 JVM。)$DSE_DIR/resources/cassandra/conf/cassandra.in.sh
$DSE_DIR/bin/dse.in.sh
DataStax
JAVA_HOME=/usr/local/java/jdk1.8.0_65
symlink
以下适用于我在 RHEL 系统上:
百胜安装 java-1.8.0-openjdk ln -nfs /usr/lib/jvm/jre-1.8.0-openjdk.x86_64 /etc/alternatives/jre ln -nfs /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java /etc/alternatives/java
java -version
echo $JAVA_HOME
似乎该服务只会从Alternativescassandra
中获取 Java 版本。
sudo alternatives --config java
...不要在那里选择Java 9。
sudo service cassandra start
/etc/cassandra/default.conf/jvm.options
有更多的 JVM 参数。
nodetool可能仍在访问早期的 java 版本,我也遇到了同样的问题。
简而言之
sudo vim /etc/environment
添加这一行 JAVA_HOME="/usr/lib/jvm/java-8-oracle/jre/bin/java"
source /etc/environment
echo $JAVA_HOME
nodetool status
长期这样做
请按照此处的步骤安装和更改系统中安装的 java 版本。它解释得很好。
尝试使用替代命令:
$ nodetool
Cassandra 3.0 and later require Java 8u40 or later.
$ java -version
java version "1.7.0_151"
$ sudo yum install java-1.8.0-openjdk
...
$ sudo alternatives --config java
There are 2 programs which provide 'java'.
Selection Command
-----------------------------------------------
*+ 1 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
2 /usr/lib/jvm/jre-1.8.0-openjdk.x86_64/bin/java
Enter to keep the current selection[+], or type selection number: 2
$ java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
$ nodetool
usage: nodetool [(-p <port> | --port <port>)]
[(-pwf <passwordFilePath> | --password-file <passwordFilePath>)]
[(-h <host> | --host <host>)] [(-u <username> | --username <username>)]
[(-pw <password> | --password <password>)] <command> [<args>]
使用以下命令。
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer