簡體   English   中英

無法執行基本的Hadoop Mapreduce Wordcount示例

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM