2015-12-21 6 views
8

Ich versuche, Cassandra 3.0 in datastax auszuführen. Aber ich bekomme einen Fehler, Cassandra 3.0 und später erfordern Java 8u40 oder später.Cassandra 3.0 und höher erfordern Java 8u40 oder höher

Ich habe Java installiert und die jdk1.8.0_65 zu /usr/local/java verschoben und JAVA_HOME zu /usr/local/java/jdk1.8.0_65 gesetzt.

Aber noch bin ich mit dem folgenden Fehler konfrontiert.

Cassandra 3.0 und höher erfordern Java 8u40 oder höher.

+0

Welche Distribution verwenden Sie? Ich habe dafür eine Lösung für Ubuntu gefunden, die ich aufschreiben werde, wenn das helfen würde. –

+0

Ich benutze Datastax. Cassandra von dort aus lernen, also die Datenverteilung verwenden. – Nandakishore

Antwort

4

Ich habe Cassandra 3.2 DataStax Distribution RPM auf CentOS 7 installiert und das gleiche Problem festgestellt. Cassandra-Startskript /etc/rc.d/init.d/cassandra findet java nur in der vordefinierten Pfadliste binär.

JVM_SEARCH_DIRS="/usr/lib/jvm/jre /usr/lib/jvm/jre-1.7.* /usr/lib/jvm/java-1.7.*/jre"

Wenn Ihr Java binäre /usr/jdk64/jdk1.8.0_60/jre/bin/java ist, hängen /usr/jdk64/jdk1.8.0_60/jre-JVM_SEARCH_DIRS oder /usr/lib/jvm/jre Symlink für /usr/jdk64/jdk1.8.0_60/jre machen.

2

ich dies in der Regel meine spezifischen lösen JAVA_HOME in die $DSE_DIR/resources/cassandra/conf/cassandra.in.sh und $DSE_DIR/bin/dse.in.sh Skripte zur Verfügung gestellt mit DataStax durch Zugabe.
Hinzufügen: JAVA_HOME=/usr/local/java/jdk1.8.0_65 in jedem. (Oder eine symlink, wenn Sie die JVM austauschen möchten, ohne diese Dateien neu zu bearbeiten.)

0

Verwenden Sie die folgenden Befehle.

sudo add-apt-repository ppa:webupd8team/java 
sudo apt-get update 
sudo apt-get install oracle-java8-installer 
1
  1. prüfen erste Version von Java mit diesem Befehl java -version
  2. prüfen Pfad java diesem Befehl echo $JAVA_HOME
+1

I rand 'update-java-Alternativen -s java-8-oracle' zuerst, aber das behebt nicht den Softlink, auf den' $ JAVA_HOME' hinwies (dh der war immer noch auf der OpenJDK) ... das Fixieren des Softlinks wurde behoben das Problem. –

1

Die folgenden Werke für mich auf einem RHEL-System:

 
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 
3

Überprüfen Sie Ihre Java-Version. Wenn Ihre Java-Version "1.8.0_40 "später. gehen Sie zu dieser Datei apache-cassandra-3.7 \ conf \ cassandra-env.ps1 und suchen Sie dieses Wort JVM_VERSION.CompareTo (" 1.8.0_40 ") dann ändern Sie Ihre Version. Zum Beispiel, wenn Sie Java 1.8 verwenden .0_102 dann JVM_VERSION.CompareTo ändern ("1.8.0_102").

Nun überprüfen. Es funktioniert.

1

ich habe auch gleiches Problem. Meine Lösung ist die Bearbeitung Datei apache-cassandra-3.7/ist/cassandra Below Zeile "#!/bin/sh!" (2. Zeile) Sie Zeile enthalten wie unten

JAVA_HOME="/path/of/your/jdk" 

Beispiel setzen können.

JAVA_HOME="/opt/jdk1.8.0_101" 

Hoffnung diese Lösung Ihnen und anderen Menschen helfen kann

0

Try Alternativen Befehl verwenden:

$ 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>] 
0

es scheint, als ob der cassandra Service die Java-Version abholen würde aus alternatives, nur.

sudo alternatives --config java 

... wählen Sie dort nicht Java 9 aus.

sudo service cassandra start 

/etc/cassandra/default.conf/jvm.options hat weitere JVM-Parameter.