すべての例は、古いバージョンを念頭に置いて構築されているようです。
Hadoop-2.2.0 ライブラリを参照するように、Ubuntu で Java プログラムをコンパイルするにはどうすればよいですか?
含めることになっているjarファイルはどこにありますか?
コマンドは何ですか?のようなものですか -
javac -classpath libraries wordcount.java
ありがとうございました。
すべての例は、古いバージョンを念頭に置いて構築されているようです。
Hadoop-2.2.0 ライブラリを参照するように、Ubuntu で Java プログラムをコンパイルするにはどうすればよいですか?
含めることになっているjarファイルはどこにありますか?
コマンドは何ですか?のようなものですか -
javac -classpath libraries wordcount.java
ありがとうございました。
私は以下を見つけました:
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 と呼ばれる私のコピー) をコンパイルすることができました。
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
Cyginをインストールする必要があり、そこでhadoopの例を実行できます。また、eclipseでhadoopを構成できます
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"