HADOOPコンパイルWordCount.javaファイルエラー
13095 ワード
もんだいげんしょう
Javacを使用してhadoop例wordcount.javaをコンパイルすると、次のようにエラーが発生します.
の原因となる
import hadoopに関連するクラス、失敗しました./etc/profileのhadoopに関するclasspath定義が正しくないためです.
解決策
/etc/profileを編集し、source/etc/profileに次のコードを追加します.
検証#ケンショウ#
OKです.
JAvacはjava言語プログラミングコンパイラで、javacompilationと呼ばれています.JAvacツールはjava言語で作成されたクラスとインタフェースの定義を読み、バイトコードのclassファイルにコンパイルします.
Javacを使用してhadoop例wordcount.javaをコンパイルすると、次のようにエラーが発生します.
[root@node4 hadoop]# javac -classpath ${HADOOP_HOME}/hadoop-${HADOOP_VERSION}-core.jar -d wordcount_classes WordCount.java
WordCount.java:6: error: package org.apache.hadoop.mapreduce does not exist
import org.apache.hadoop.mapreduce.*;
^
WordCount.java:7: error: package org.apache.hadoop.conf does not exist
import org.apache.hadoop.conf.*;
^
WordCount.java:8: error: package org.apache.hadoop.io does not exist
import org.apache.hadoop.io.*;
^
WordCount.java:9: error: package org.apache.hadoop.util does not exist
import org.apache.hadoop.util.*;
^
WordCount.java:10: error: package org.apache.hadoop.fs does not exist
import org.apache.hadoop.fs.Path;
^
WordCount.java:25: error: cannot find symbol
extends Mapper
の原因となる
import hadoopに関連するクラス、失敗しました./etc/profileのhadoopに関するclasspath定義が正しくないためです.
解決策
/etc/profileを編集し、source/etc/profileに次のコードを追加します.
export CLASSPATH=.:$HADOOP_HOME/share/hadoop/common/hadoop-common-2.7.4.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.7.4.jar:$HADOOP_HOME/share/hadoop/common/lib/commons-cli-1.2.jar:$CLASSPATH
検証#ケンショウ#
[root@node4 hadoop]# javac -d wordcount_classes WordCount.java
[root@node4 hadoop]#
OKです.
JAvacはjava言語プログラミングコンパイラで、javacompilationと呼ばれています.JAvacツールはjava言語で作成されたクラスとインタフェースの定義を読み、バイトコードのclassファイルにコンパイルします.