0

私は基本的にリモートノードでマッドリデュースジョブを実行しようとしていますが、以下の例外に直面しています。同じ問題を経験した人はいますか?クラスパスを設定してジョブを起動するために使用しているsciptを投稿しています。

#!/bin/bash

export JAVA_HOME=/usr/java/jdk7
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.4.0
export CONF=/home/hadoop/p2Cluster/conf
export PATH=$CONF:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$CONF:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_CONF_DIR=$CONF
echo "classpath=$CLASSPATH"
#
C2=""
JARS=`find $HADOOP_HOME -name '*hadoop*.jar'`
for j in $JARS
do
echo "$j"
export CLASSPATH=$CLASSPATH:$j
C2=$C2,$j
done

client=******
jobQueueName=default
JAR=****.jar
export HADOOP_CLASS_PATH=$CLASSPATH
hadoop jar $JAR $client  interactive 2 groupA.txt groupB.txt
#
#java $client  interactive 2 groupA.txt groupB.txt $jobQueueName
exit 0



error:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/util/RunJar
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.util.RunJar
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Could not find the main class: org.apache.hadoop.util.RunJar.  Program will exit.
4

1 に答える 1

0
  1. HADOOP_HOME を HADOOP_PREFIX に変更します
  2. Hadoop が正しい Java バージョンを取得していることを確認する
  3. hadoop-env.conf で必要な Java を構成できます。
  4. もう一度やり直してください $ Hadoop バージョン
于 2015-04-29T14:01:02.113 に答える