2016-09-25 8 views
0

WordCount exampleを実行しようとしています。しかし、私はプログラムをコンパイルする際に問題に直面しています。基本的なHadoop Mapreduceワードカウントの例を実行できません

私はエラーを取得する:実行した後

error: package org.apache.hadoop.mapred does not exist

javac -classpath /usr/local/hadoop/share/hadoop/common/hadoop-common-2.7.3.jar -d wordcount_classes WordCount.java 

私はこのtutorialを使用してHadoopのを設定します。 私はまたこれを見ましたquestion/usr/local/hadoopbin/hadoop classpathコマンドを実行しました。これは私が得た出力です:

/usr/local/hadoop/etc/hadoop:/usr/local/hadoop/share/hadoop/common/lib/* :/usr/local/hadoop/share/hadoop/common/* :/usr/local/hadoop/share/hadoop/hdfs:/usr/local/hadoop/share/hadoop/hdfs/lib/* :/usr/local/hadoop/share/hadoop/hdfs/* :/usr/local/hadoop/share/hadoop/yarn/lib/* :/usr/local/hadoop/share/hadoop/yarn/* :/usr/local/hadoop/share/hadoop/mapreduce/lib/* :/usr/local/hadoop/share/hadoop/mapreduce/* :/contrib/capacity-scheduler/*.jar

しかし、私はそれを作るべきか、私の次のステップがすべきか分かりません!助けてください!

答えて

2

多くのhadoop依存関係jar(hadoop-common-x.x.x.jar)のいずれかを使用してソースコードをコンパイルしようとしています。エラーメッセージに記載されているマップされたパッケージを含むjarは、hadoop-mapreduce-client-core jarです。

MavenやGradleなどのビルドツールを使用して、推移的な依存関係を管理するためのソースコードを作成することをお勧めします。 javacのあなたの手動起動を続行するには、代わりに

、(未テスト)このような何かを試してみてください。

javac -cp '/usr/local/hadoop/share/hadoop/common/*' \ 
    -cp '/usr/local/hadoop/share/hadoop/hdfs/lib/*' \ 
    -cp '/usr/local/hadoop/share/hadoop/hdfs/*' \ 
    -cp '/usr/local/hadoop/share/hadoop/yarn/lib/*' \ 
    -cp '/usr/local/hadoop/share/hadoop/yarn/*' \ 
    -cp '/usr/local/hadoop/share/hadoop/mapreduce/lib/*' \ 
    -cp '/usr/local/hadoop/share/hadoop/mapreduce/*' \ 
    -d wordcount_classes WordCount.java 
関連する問題