0

助けが要る。利用可能なさまざまな回答がたくさんありますが、私もそれらを試しましたが、うまくいきませんでした。Hadoop を Mac OS にローカルにインストールし、Java プログラムをコンパイルしようとすると、次のエラーが発生しました。問題は正しいクラスパスの設定にあることは知っていますが、クラスパスを提供しても機能しない場合があります。/usr/local/Cellar/hadoop/1.2.1/libexec の下に Hadoop をインストールしました

JAVA_HOME="$(/usr/libexec/java_home)" をエクスポートするように Java ホームを設定し、HADOOP_CLASSPATH=${HADOOP_HOME}/bin:${JAVA_HOME}/bin:${PATH} をエクスポートするようにクラスパスを設定しました。

それでも以下のエラーが発生します。正しいクラスパスを設定するための提案をいただければ幸いです。

LineIndexer.java:6: パッケージ org.apache.hadoop.io が存在しません import org.apache.hadoop.io.LongWritable; ^ LineIndexer.java:7: パッケージ org.apache.hadoop.io が存在しません import org.apache.hadoop.io.Text; ^ LineIndexer.java:8: パッケージ org.apache.hadoop.mapred が存在しません import org.apache.hadoop.mapred.FileInputFormat; ^ LineIndexer.java:9: パッケージ org.apache.hadoop.mapred が存在しません import org.apache.hadoop.mapred.FileOutputFormat; ^ LineIndexer.java:10: パッケージ org.apache.hadoop.mapred が存在しません import org.apache.hadoop.mapred.FileSplit; ^ LineIndexer.java:11: パッケージ org.apache.hadoop.mapred が存在しません import org.apache.hadoop.mapred.JobClient; ^ LineIndexer.java:12: パッケージ org.apache.hadoop.mapred が存在しません import org.apache.hadoop.mapred.JobConf; ^ LineIndexer.java:13: パッケージ org.apache.hadoop.mapred が存在しません import org.apache.hadoop.mapred.MapReduceBase; ^ LineIndexer.java:14: パッケージ org.apache.hadoop.mapred が存在しません import org.apache.hadoop.mapred.Mapper; ^ LineIndexer.java:15: パッケージ org.apache.hadoop.mapred が存在しません import org.apache.hadoop.mapred.OutputCollector; ^ LineIndexer.java:16: パッケージ org.apache.hadoop.mapred が存在しません import org.apache.hadoop.mapred.Reducer; ^ LineIndexer.java:17: パッケージ org.apache.hadoop.mapred が存在しません import org.apache.hadoop. mapred.レポーター; ^ LineIndexer.java:21: シンボルが見つかりません symbol : class MapReduceBase 場所: class LineIndexer public static class LineIndexMapper extends MapReduceBase ^ LineIndexer.java:22: シンボルが見つかりません symbol : クラス Mapper 場所: クラス LineIndexer は Mapper を実装します { ^ LineIndexer.java: 22: シンボルが見つかりません symbol : クラス LongWritable 場所: クラス LineIndexer が Mapper を実装しています { ^ LineIndexer.java:22: シンボルが見つかりません symbol : クラス テキストの場所: クラス LineIndexer が Mapper を実装しています { ^

4

1 に答える 1

0

クラスパスが間違っているようです。代わりにこれを試してください:

javac -classpath /usr/local/cellar/hadoop-1.2.1/hadoop-core-1.2.1.jar

または、HADOOP_HOME 環境変数を次のように再定義します。/usr/local/cellar/hadoop-1.2.1

于 2013-11-15T00:42:58.027 に答える