0

ubuntuにhadoopをインストールしましたが、正常に動作しています。

ubuntu:/home/hduser/hive-0.10.0-cdh4.3.1$ jps
2702 DataNode
3101 ResourceManager
4879 Jps
2948 SecondaryNameNode
3306 NodeManager

hadoop_version=Hadoop 2.0.0-cdh4.3.0

次に、Apache tarballs から hive(hiv version-hive-0.10.0) をインストールし、bin/hive を実行してみました。しかし、私は以下のエラーを取得しています:

Hadoop のバージョン情報を特定できません。 hadoop version戻ってきた:

/home/hduser/hadoop/etc/hadoop /usr/lib/jvm/jdk1.6.0_45/ 
Hadoop 2.0.0-cdh4.3.0
Subversion file:///var/lib/jenkins/workspace/CDH4.3.0-Packaging-Hadoop/build/cdh4/hadoop/2.0.0-cdh4.3.0/source/hadoop-common-project/hadoop-common -r 48a9315b342ca16de92fcc5be95ae3650629155a 
Compiled by jenkins on Mon May 27 19:06:57 PDT 2013 
From source with checksum a4218d77f9b12df4e3e49ef96f9d357d 
This command was run using /home/hduser/hadoop/share/hadoop/common/hadoop-common-2.0.0-cdh4.3.0.jar

スクリプトの知識で解決しようとしましたが、できません。努力を伸ばしたところ、以下の行で失敗していることがわかりました。

if [[ "$HADOOP_VERSION" =~ $hadoop_version_re ]]; then

試してみましecho HADOOP_VERSIONたが何も返されず、HADOOP_VERSIONは次のように定義されています

HADOOP_VERSION=$($HADOOP version | awk '{if (NR == 1) {print $2;}}');

そして$HADOOP version私を産む

 /home/hduser/hadoop/etc/hadoop
 /usr/lib/jvm/jdk1.6.0_45/
 Hadoop 2.0.0-cdh4.3.0
 Subversion file:///var/lib/jenkins/workspace/CDH4.3.0-Packaging-Hadoop/build/cdh4/hadoop/2.0.0-cdh4.3.0/source/hadoop-common-project/hadoop-common -r 48a9315b342ca16de92fcc5be95ae3650629155a
 Compiled by jenkins on Mon May 27 19:06:57 PDT 2013
 From source with checksum a4218d77f9b12df4e3e49ef96f9d357d
 This command was run using /home/hduser/hadoop/share/hadoop/common/hadoop-common-2.0.0-cdh4.3.0.jar

私は今一週間これに打たれています。私を助けてください。ありがとう。

4

6 に答える 6

1

問題はあなたの質問によってすでに描かれています。スクリプトが実行$HADOOP versionされると、次のような出力が期待されます。

Hadoop 2.0.0-cdh4.3.0
Subversion file:///var/lib/jenkins/workspace/CDH4.3.0-Packaging-Hadoop/build/cdh4/hadoop/2.0.0-cdh4.3.0/source/hadoop-common-project/hadoop-common -r 48a9315b342ca16de92fcc5be95ae3650629155a
Compiled by jenkins on Mon May 27 19:06:57 PDT 2013
 From source with checksum a4218d77f9b12df4e3e49ef96f9d357d
 This command was run using /home/hduser/hadoop/share/hadoop/common/hadoop-common-2.0.0-cdh4.3.0.jar`

代わりに、いくつかの他の出力が適切に表示されます (おそらく、Hadoop でいくつかのスクリプトを変更したためです。conf/hadoop-env.sh を確認してください)。

/home/hduser/hadoop/etc/hadoop
/usr/lib/jvm/jdk1.6.0_45/
Hadoop 2.0.0-cdh4.3.0
Subversion file:///var/lib/jenkins/workspace/CDH4.3.0-Packaging-Hadoop/build/cdh4/hadoop/2.0.0-cdh4.3.0/source/hadoop-common-project/hadoop-common -r 48a9315b342ca16de92fcc5be95ae3650629155a
Compiled by jenkins on Mon May 27 19:06:57 PDT 2013
 From source with checksum a4218d77f9b12df4e3e49ef96f9d357d
 This command was run using /home/hduser/hadoop/share/hadoop/common/hadoop-common-2.0.0-cdh4.3.0.jar`

これで、awk 行は目的の番号を見つけられなくなりました (位置 2)。

したがって、解決策は、その余分な出力がどこから来たのかを見つけて削除することです。

于 2014-02-20T17:35:55.693 に答える
0

Windows でも、同じ問題が発生する可能性があります。

実際、$HADOOP_HOMEdos パス (例: : C:\hadoop) として設定されている場合は、cygwin で変更する必要があります。これを行う 1 つの方法は、次の行を .bashrc に追加することです。

export HADOOP_HOME="$(cygpath $HADOOP_HOME)"
于 2014-07-01T10:10:40.490 に答える
0

次のコマンドを実行します: hadoop version

hduser@ubuntu:/usr/local/hadoop/sbin$ hadoop version

于 2016-03-02T17:13:16.590 に答える
0

JAR PATH を確認してください ( JRE_HOME)

于 2016-10-13T06:12:38.980 に答える