0

RHEL 6.6 に predictIO をインストールしました。しかし、pio-start-all で pio を起動すると、次のようなエラーが発生します。

$ pio-start-all 
Starting Elasticsearch...
Starting HBase...
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/hadoop/hbase/util/HBaseConfTool : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:643)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
Could not find the main class: org.apache.hadoop.hbase.util.HBaseConfTool. Program will exit.
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/hadoop/hbase/zookeeper/ZKServerTool : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:643)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
Could not find the main class: org.apache.hadoop.hbase.zookeeper.ZKServerTool. Program will exit.
starting master, logging to /home/itdevel/PredictionIO/vendors/hbase-1.0.0/bin/../logs/hbase-itdevel-master-Puget-129416.out
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/hadoop/hbase/master/HMaster : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:643)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
starting regionserver, logging to /home/itdevel/PredictionIO/vendors/hbase-1.0.0/bin/../logs/hbase-itdevel-1-regionserver-Puget-129416.out
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/hadoop/hbase/regionserver/HRegionServer : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:643)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
Waiting 10 seconds for HBase to fully initialize...
Starting PredictionIO Event Server...

結局、pioサーバーは起動しません。システム全体のJavaインストールは1.6であるため、新しいユーザーを作成し、そのユーザーにJavaをインストールしました。新しいユーザー用にJava 1.8を正常にインストールしました

$java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.45-b02, mixed mode)

pio-start-all で jdp が見つからないため、pio-start-all のパスを編集して Java インストールを指すようにしました。Javaパスを確認しました。

 $echo $JAVA_HOME
/home/me/jdk1.8.0_45/bin

pio-start-all のパス/home/me/jdk1.8.0_45/bin/bin/home/me/jdk1.8.0_45/binjdp に変更した後、エラーは修正されましたが、現在のエラーに悩まされています。いくつかの ubuntu マシンとサーバーに pio をインストールし、カスタム エンジン テンプレートの要件を満たすように pio をカスタマイズしましたが、問題なく動作しています。PredictionIO は Redhat をサポートしていますか? これで必要なエラー トレースがすべて揃っていることを願っています。前もって感謝します :)

4

2 に答える 2

0

問題を解決しました。私の場合、hbase は間違った Java インストールを指していました。hbaseの更新後JAVA_HOME、起動して実行され、私の問題は修正されました。/home/me/PredictionIO/vendors/hbase-1.0.0/bin/hbaseご支援ありがとうございます :)

于 2015-07-02T09:34:58.690 に答える
0

java.lang.UnsupportedClassVersionError必ずスローされる whenまたはそれが実行するその他のpio-start-allスクリプトは、 で必要とされるよりも古いバージョンの Javaを引き続き使用しpredictionIOます。使用されている Java のバージョンを十分に確認する必要があります。

方法の1つは、以下で試すことですroot

alternatives --config java

あなたはこのようなものを持っているでしょう

There are 2 choices for the alternative java (providing /usr/bin/java).

Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-7-oracle/jre/bin/java          1062      auto mode
  1            /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/java-7-oracle/jre/bin/java          1062      manual mode

Press enter to keep the current choice[*], or type selection number:

最新の Java バージョンを選択します。

構成することもできますJAVA_HOMERedHat の手順を確認してください。

于 2015-07-01T13:30:26.030 に答える