[英]Can't execute the basic Hadoop Mapreduce Wordcount example
我正在嘗試運行WordCount示例 。 但是我在編譯程序時遇到了問題。
我得到錯誤:
錯誤:軟件包org.apache.hadoop.mapred不存在
執行后:
javac -classpath /usr/local/hadoop/share/hadoop/common/hadoop-common-2.7.3.jar -d wordcount_classes WordCount.java
我使用本教程設置了hadoop。 我還在stackoverflow : 問題 上進行了查找,並在/usr/local/hadoop
執行了bin/hadoop classpath
命令。 這是我獲得的輸出:
/ usr / local / hadoop / etc / hadoop:/ usr / local / hadoop / share / hadoop / common / lib / *:/ usr / local / hadoop / share / hadoop / common / *:/ usr / local / hadoop /共享/ 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
但是我不知道該怎么做,或者下一步該怎么做! 請幫忙!
您正在嘗試使用許多hadoop依賴罐(hadoop-common-xxxjar)之一來編譯源代碼。 包含錯誤消息中指出的mapred包的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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.