日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用命令行编译打包运行自己的MapReduce程序 Hadoop2.4.1

發布時間:2025/6/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用命令行编译打包运行自己的MapReduce程序 Hadoop2.4.1 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

網上的MapReduce WordCount教程對于如何編譯WordCount.java幾乎是一筆帶過… 而有寫到的,大多又是 0.20 等舊版本版本的做法,即?javac -classpath /usr/local/hadoop/hadoop-1.0.1/hadoop-core-1.0.1.jar WordCount.java,但較新的 2.X 版本中,已經沒有 hadoop-core*.jar 這個文件,因此編輯和打包自己的MapReduce程序與舊版本有所不同。

本文以 Hadoop 2.4.1 環境下的WordCount實例來介紹 2.x 版本中如何編輯自己的MapReduce程序。

Hadoop 2.x 版本中的依賴 jar

Hadoop 2.x 版本中jar不再集中在一個 hadoop-core*.jar 中,而是分成多個 jar,如運行WordCount實例需要如下三個 jar:

  • $HADOOP_HOME/share/hadoop/common/hadoop-common-2.4.1.jar
  • $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.4.1.jar
  • $HADOOP_HOME/share/hadoop/common/lib/commons-cli-1.2.jar

編譯、打包 Hadoop MapReduce 程序

將上述 jar 添加至 classpath 路徑:

export CLASSPATH="$HADOOP_HOME/share/hadoop/common/hadoop-common-2.4.1.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.4.1.jar:$HADOOP_HOME/share/hadoop/common/lib/commons-cli-1.2.jar:$CLASSPATH"

接著就可以編譯 WordCount.java 了(使用的是 2.4.1 源碼中的 WordCount.java,源碼在文本最后面):

javac WordCount.java

編譯時會有警告,可以忽略。編譯后可以看到生成了幾個.class文件。

使用Javac編譯自己的MapReduce程序

接著把 .class 文件打包成 jar,才能在 Hadoop 中運行:

jar -cvf WordCount.jar ./WordCount*.class

打包完成后,運行試試,創建幾個輸入文件:

Mkdir input echo "echo of the rainbow" > ./input/file0 echo "the waiting game" > ./input/file1

創建WordCount的輸入

開始運行:

/usr/local/hadoop/bin/hadoop jar WordCount.jar WordCount input output

不過這邊可能會遇到如下的提示?Exception in thread "main" java.lang.NoClassDefFoundError: WordCount:

提示找不到 WordCount 類

因為程序中聲明了 package ,所以在命令中也要?org.apache.hadoop.examples?寫完整:

/usr/local/hadoop/bin/hadoop jar WordCount.jar org.apache.hadoop.examples.WordCount input output

正確運行后的結果如下:

WordCount 運行結果

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的使用命令行编译打包运行自己的MapReduce程序 Hadoop2.4.1的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。