我試圖在datastax中運行cassandra 3.0。但是我收到一個錯誤,說 Cassandra 3.0及更高版本需要Java 8u40或更高版本。Cassandra 3.0及更高版本需要Java 8u40或更高版本
我已安裝java並將jdk1.8.0_65移至/usr/local/java
,並將JAVA_HOME設置爲/usr/local/java/jdk1.8.0_65
。
但我仍然面臨以下錯誤。
卡桑德拉3.0及更高版本需要安裝Java 8u40或更高版本。
我試圖在datastax中運行cassandra 3.0。但是我收到一個錯誤,說 Cassandra 3.0及更高版本需要Java 8u40或更高版本。Cassandra 3.0及更高版本需要Java 8u40或更高版本
我已安裝java並將jdk1.8.0_65移至/usr/local/java
,並將JAVA_HOME設置爲/usr/local/java/jdk1.8.0_65
。
但我仍然面臨以下錯誤。
卡桑德拉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_HOME
添加到DataStax
提供的$DSE_DIR/resources/cassandra/conf/cassandra.in.sh
和$DSE_DIR/bin/dse.in.sh
腳本中來解決此問題。
地址:分別爲JAVA_HOME=/usr/local/java/jdk1.8.0_65
。 (或者symlink
,如果您希望能夠在不重新編輯這些文件的情況下交換JVM)。
使用以下命令。使用此命令java -version
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
echo $JAVA_HOME
我先''update-java-alternatives -s java-8-oracle'第一個,但是這並沒有解決'$ JAVA_HOME'指向的軟鏈接(即仍在OpenJDK上)......修復了軟鏈接問題。 –
以下工作對我來說是RHEL系統上:
yum install 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版本。如果你的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的卡桑德拉-3.7/bin中/卡桑德拉下面一行含有 「#/ bin/sh的!」(2號線),你可以把線像下面
JAVA_HOME="/path/of/your/jdk"
例如:
JAVA_HOME="/opt/jdk1.8.0_101"
希望這個解決方案可以幫助你和其他人
嘗試使用替代命令:
$ 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>]
看來,彷彿cassandra
服務會拿起從Java版本僅限於alternatives。
sudo alternatives --config java
...不要在那裏選擇Java 9。
sudo service cassandra start
/etc/cassandra/default.conf/jvm.options
還有JVM參數。
你使用什麼樣的分佈?我爲Ubuntu找到了一個解決方案,如果能幫上忙,我會寫出來。 –
我正在使用datastax。從那裏學習cassandra,如此使用datastax分發。 – Nandakishore