在eclipse中開發hadoop MapReduce

停不下的腳步發表於2014-12-19
一.安裝hadoop for eclipse的外掛,注意:外掛版本要和hadoop版本一致。
下載:hadoop-eclipse-plugin-2.5.2.jar
將hadoop-eclipse-plugin-2.5.2.jar檔案放到ECLIPSE_HOME/plugins下,重啟eclipse

二.在eclipse中新建hadoop專案
File>New>other>Map/Reduce Project>next>輸入專案名>finish

點選右上角Map/Reduce檢視
現在能看見Map/Reduce Locations了,點選右側的紫色大象。

因為我們是yarn的環境 所以不需要配置Map/Reduce(V2) Master 項
DFS Master中的IP和埠 就是我們hadoop/etc/hadoop/core-site.xml中fs.defaultFS的值

現在我們就能看見遠端hadoop的HDFS了

三.在eclipce中執行Map/Reduce,以hadoop自帶的wordcount為例
首先下載hadoop的原始碼:
在hadoop-2.5.2-src ▸ hadoop-mapreduce-project ▸ hadoop-mapreduce-examples ▸ src ▸ main ▸ java ▸ org ▸ apache ▸ hadoop ▸ examples目錄中找到WordCount.java
將WordCount.java複製到剛才建的myhadoop專案的src下


建立資料來源檔案word.txt

在HDFS上建立輸入目錄,再將word.txt傳到HDFS上
$hadoop fs -mkdir /tmp/input
$hadoop fs -copyFromLocal /home/hadoop/word.txt /tmp/input/word.txt
回到eclipse 重新整理DFS將看到

執行WordCount.java
(1).在新建的專案Hadoop,點選WordCount.java,右鍵-->Run As-->Run Configurations
(2).在彈出的Run Configurations對話方塊中,點Java Application,右鍵-->New,這時會新建一個application名為WordCount
(3).配置執行引數,點Arguments,在Program arguments中輸入你要傳給程式的輸入資料夾和你要求程式將計算結果儲存的資料夾,如:
hdfs://10.6.9.226:9000/tmp/input/word.txt hdfs://10.6.9.226:9000/tmp/output
點選Run,等執行結束重新整理DFS Locations將會看到output資料夾


在我們平時開發中,我們可以在eclipse中編寫mapReduce,然後將工程導成JAR包,放到hadoop環境中,執行如下操作:
$hadoop jar <JAR包目錄> <hadoop例項名,如word count> <input目錄> <output目錄,確保不存在>

相關文章