2015-12-21 16 views
8

データストアで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に設定しました。

しかし、私はまだ次のエラーに直面しています。

Cassandra 3.0以降では、Java 8u40以降が必要です。

+0

どのような分布を使用していますか?私はUbuntuのための解決策を見つけました。 –

+0

私はdatastaxを使用しています。そこからキャッサンドラを学び、データストアの配布を利用する。 – Nandakishore

答えて

4

CentOS 7にCassandra 3.2 DataStax Distribution rpmをインストールして同じ問題が発生しました。 Cassandraスタートアップスクリプト/etc/rc.d/init.d/cassandraは、定義済みのパスリストでのみjavaバイナリを検索します。お使いのJavaのバイナリが/usr/jdk64/jdk1.8.0_60/jre/bin/javaある場合

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

JVM_SEARCH_DIRS/usr/jdk64/jdk1.8.0_60/jreを追加、または/usr/jdk64/jdk1.8.0_60/jreため/usr/lib/jvm/jreシンボリックリンクを作ります。

2

私は通常JAVA_HOMEをで提供された$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をスワップできるようにしたい場合)

0

次のコマンドを使用します。このコマンドを使用してこのコマンドにジャワのjava -version

  • チェックパスを使用して、Javaの

    sudo add-apt-repository ppa:webupd8team/java 
    sudo apt-get update 
    sudo apt-get install oracle-java8-installer 
    
  • 1
    1. チェック最初のバージョンecho $JAVA_HOME
    +1

    'update-java-alternatives -s java-8-oracle'を最初に実行しましたが、' $ JAVA_HOME'が指し示していたソフトリンクを修正しませんでした(つまりOpenJDK上にあったソフトリンクを修正しました)...問題。 –

    1

    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 
    
    3

    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")に変更する。

    を今すぐチェック。それが動作します。

    1

    を私も同じ問題を抱えている。私のソリューションを編集しているファイルのapache-カサンドラ-3.7/binにあなたのような

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

    例以下の行を置くことができる "ます。#!/ bin/sh"(2行目)を含ん行の下/カサンドラ:

    JAVA_HOME="/opt/jdk1.8.0_101" 
    

    このソリューションは、あなたや他の人々

    0

    選択肢コマンドを使用してみてください役立つことを願って:

    $ 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

    それはそう、cassandraサービスからJavaのバージョンを拾うかのようにalternatives、のみ。

    sudo alternatives --config java 
    

    ... Java 9が選択されていません。

    sudo service cassandra start 
    

    /etc/cassandra/default.conf/jvm.optionsには、さらにJVMパラメータがあります。

    関連する問題