Java_HOMEの設定に関するコメントをいくつか読みました。私は初心者なので、自分が何をしているのかを知らずに何も編集しませんでした。これ以上物事を台無しにしたくなかった。ですから、これについて私を導き、私のコーディングの何が問題なのかを教えていただければ、本当にありがたいです。
HadoopをインストールしてからHBaseをインストールしようとしています。多くの困難とエラー解決の後、最終的にHadoopをインストールし、start-all.sh
を実行したときにこの出力を取得でき、すべてが正常であるように見えました。
> hduser@CSLAP106:~$ /usr/local/hadoop/bin/start-all.sh
> hduser@CSLAP106:~$ jps
> 3005 NameNode
> 3404 JobTracker
> 5570 Jps
> 3554 TaskTracker
> 3311 SecondaryNameNode
これもJavaバージョンで、echo Java_HOME
と入力すると、次の出力が得られます。
> hduser@CSLAP106:~$ Java -version
>
> Java version "1.7.0_25" OpenJDK Runtime Environment (IcedTea 2.3.12)
> (7u25-2.3.12-4ubuntu3) OpenJDK Server VM (build 23.7-b01, mixed
> mode)
> hduser@CSLAP106:~$ echo Java_HOME Java_HOME
この後、HBase(あきらめようとしていると思います)をインストールしようとしましたが、常にJava_HOME is not set and Java cannot be found
というエラーが表示されます。
これは私がHbaseを起動しようとしたものです:
hduser@CSLAP106:~$ /usr/local/hbase/hbase-0.94.6.1/bin/start-hbase.sh
+======================================================================+
| Error: Java_HOME is not set and Java could not be found |
+----------------------------------------------------------------------+
| Please download the latest Sun JDK from the Sun Java web site |
| > http://Java.Sun.com/javase/downloads/ < |
| |
| HBase requires Java 1.6 or later. |
| NOTE: This script will find Sun Java whether you install using the |
| binary or the RPM based installer. |
+======================================================================+
また、このディレクトリ/usr/local/hbase/hbase-0.94.6.1/bin
をチェックして、Java)を認識するかどうかを確認します。
Strackoverflowと同じ問題に対する他の人の回答を検索した後、それらを.xmlファイルと.shファイルに適用しようとしましたが、何も起こりませんでした。
HADOOPの場合
これは、Java_HOMEを設定したhadoop-env.sh
です。
# The Java implementation to use. Required.
export Java_HOME=/usr/lib/jvm/Java-7-openjdk-i386
これはmy $HOME/.bashrc
の編集です:
# Set Hadoop-related environment variables
export HADOOP_HOME=/usr/local/hadoop
export Java_HOME=/usr/lib/jvm/Java-1.7.0-openjdk-i386
# Add Hadoop bin/ directory to PATH
export PATH=$PATH:$HADOOP_HOME/bin
HBaseの場合
これらは私がhbase-site.xml
で行った編集です
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:54310 /hbase</value>
</property>
これはhbase-env.sh
用です
# The Java implementation to use. Java 1.6 required.
# export Java_HOME=/usr/lib/jvm/Java-1.7.0-openjdk-i386
これが私が推測するすべてです。
どうやらHBaseはJava_HOMEとJavaバイナリを見つけることができませんでしたが、Java -version
をローカルで実行できます。
HBaseを実行する前に、export Java_HOME=/the/path/of/you/jdk/
を実行する必要があります。
BTY、echo Java_HOME Java_HOME
が正しくありません。 echo $Java_HOME
が必要な場合があります。
Hbaseは、hbase-env.shファイルに設定されているJava_HOMEディレクトリを読み取ろうとします。
Hbase-env.shファイル内
export Java_HOME=/usr/Java/jdk1.6.0/ is set and commented.
Hbaseに設定されたデフォルトのJava_HOME。
Java homeを別のディレクトリに設定する場合は、行を編集してコメントアウトしてください。
それはあなたの問題を解決します。
以下を参照してください。
「Javaをインストールして使用可能にする必要があります。Javaがインストールされていないが、システム上、おそらく非標準の場所にあることを示すエラーが発生した場合は、conf/hbaseを編集してください-env.shファイルを作成し、Java_HOME設定を変更して、システムのbin/Javaを含むディレクトリを指すようにします。」
hbase-env.sh
を次のように変更するだけです。
export Java_HOME=/your/Java/path
/etc/profile
Javaパスが機能しない理由はわかりませんが、この方法が役立ちます。
〜/ .bashrcファイルにJava_HOMEパスをすでに設定していて、それでもHbaseが「Java_HOMEが見つかりません」という同じエラーを表示する場合は、/ etc/environmentファイルにJava_HOMEを設定します。
私はこの問題に直面し、Java_HOMEを「/ etc/environment」に設定するとうまくいきました
Java home->これを2つの方法で行うことができます
〜/ hbase-0.98.10-hadoop1/confのhbase-env.shにパスを設定しますJava_HOME = 'PATH/TO/JAVE_HOME'
または、Sudoの下のターミナルでuser $ export Java_HOME = 'PATH/TO/JAVE_HOME'を実行します。
OS X(10)で実行できます。