3

すべての例は、古いバージョンを念頭に置いて構築されているようです。

Hadoop-2.2.0 ライブラリを参照するように、Ubuntu で Java プログラムをコンパイルするにはどうすればよいですか?

含めることになっているjarファイルはどこにありますか?

コマンドは何ですか?のようなものですか -

javac -classpath libraries wordcount.java

ありがとうございました。

4

6 に答える 6

10

私は以下を見つけました:

javac -classpath $HADOOP_HOME/share/hadoop/common/hadoop-common-2.2.0.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.2.0.jar:$HADOOP_HOME/share/hadoop/common/lib/commons-cli-1.2.jar -d wordcount_classes myWordCount.java

これにより、Wordcount の例 (または、この場合は myWordCount と呼ばれる私のコピー) をコンパイルすることができました。

于 2013-10-31T10:42:33.403 に答える
3

Hadoop には、必要なクラスパスを提供するコマンド「hadoop classpath」があります。すなわち

Hadoop クラスパス /etc/hadoop/conf:/usr/lib/hadoop/lib/ :/usr/lib/hadoop/.// :/usr/lib/hadoop-hdfs/./:/usr/lib/hadoop-hdfs /lib/ :/usr/lib/hadoop-hdfs/.// :/usr/lib/hadoop-yarn/lib/ :/usr/lib/hadoop-yarn/.// :/usr/lib/hadoop-mapreduce /lib/ :/usr/lib/hadoop-mapreduce/.//

したがって、コンパイルしたい場合は、この方法で使用できます..

javac -classpath $(hadoop クラスパス) -d . WordCount.java

于 2015-04-14T00:09:50.667 に答える
0

Cyginをインストールする必要があり、そこでhadoopの例を実行できます。また、eclipseでhadoopを構成できます

于 2013-10-21T08:18:06.973 に答える
0

Hadoop の例の jar もでこぼこしています。多くのビデオ/チュートリアル/ブログの情報は、古いバージョンに基づいています。

これらの例をコンパイルするか、独自の MapReduce プログラムを作成すると、hadoop パッケージが使用されます (つまり、IDE で jar をインポートする/外部 jar への参照を追加する - MS Visual Studio で .dll への参照を追加するのと同様)。クラスごとに javac を正しく呼び出すように注意してください。

WordCount.java などの任意のクラスを手動でコンパイルするには、クラスが依存しているすべての jar を javac に伝える必要があります。古いビデオをフォローしましたが、1 つの情報を共有しました。つまり、.bashrc に変数を設定し、Hadoop 関連のすべての jar ファイルを参照してから、それを javac -classpath $VARIABLE filename.java で使用します。

たとえば、名前を $HADOOP_CLASSPATH として、値をここに示すように使用しています (私は Mac OS X を使用しています)。

/usr/local/hadoop/etc/hadoop:/usr/local/hadoop/etc/hadoop:/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:/usr/local/hadoop/share/hadoop/yarn/ :/usr/local/hadoop/share/hadoop /yarn/lib/*

この変数を使用すると、クラスを正常にコンパイルできました。"javac -classpath $HADOOP_CLASSPATH WordCount.java"

于 2014-11-15T18:52:32.523 に答える