在前面一篇文章中介紹了如果在完全分布式的環境下搭建Hadoop0.20.2,現在就再利用這個環境完成開發。
首先用hadoop這個用戶登錄linux系統(hadoop用戶在前面一篇文章中創建的),然后下載eclipse的tar.gz包到/home/hadoop/這個目錄下,直接解壓縮,於是就會存在/home/hadoop/eclipse這個目錄。在開發之前需要將hadoop0.20.2目錄下面的一個jar復制到eclipse下面去。(注:在上一篇文章中我將hadoop0.20.2文件夾修改成了hadoop,哈哈,所以下面的目錄不要暈哦!)
第一步:插件復制
首先尋找到hadoop下面的eclipse-plugin的jar,位置在/home/hadoop/hadoop/contrib/eclipse-plugin/hadoop-0.20.2-eclipse-plugin.jar
將其賦值到剛才解壓的eclipse目錄下,目錄在/home/hadoop/eclipse/plugins/,打開這個目錄后,粘貼即可。
jar包復制好后即可雙擊eclipse目錄下的eclipse圖標,打開eclipse進行開發。
第二步:准備開發環境
打開eclipse后,首先windows->preferences,打開如下圖界面,按照下圖紅框提示區域進行配置,其中hadoop的安裝位置即hadoop下載后解壓的位置。
緊接着,同樣還是windows->show view->other,在打開的頁面中輸入map,以便找到Map/Reduce Locations,如下圖
點擊OK后,會在eclipse開發工具的下方會顯示Map/Reduce Locations 在這個區域里面點擊鼠標右鍵,可以創建一個new Hadoop Location,方便我們可以管理hdfs目錄。
點擊"New Hadoop Location"后會彈出一個配置頁面,其中參數配置如下圖中的標識,點擊Finish后,即可在開發環境的左邊出現一個hadoop目錄導航樹。
hadoop中hdfs目錄中的文件可以在user文件夾下面查看到。此時,基本的環境配置都已經完成,下面即可進行正式的開發了。
第三步:java代碼編寫
下面我們簡單的闡述下,要完成的功能,在test_2.txt中我們記錄了一些手機號在不同時刻撥打的電話,有些是打給10086,有些是打給120,還有些其他的號碼,現在我們需要完成的工作就是統計,比如10086被哪些號碼打過,還有就是120被哪些號碼打過,所以,我們的期望數據和目標數據分別如下圖:
首先需要新建一個項目:File->New->Project... 在彈出的窗體中選中Map/Reduce Project,點擊Next,輸入Project Name 這里是MyHadoop002,然后點擊Finish,此時在開發環境的左邊可以看到新建的項目,展開新建的項目MyHadoop002,選擇src,右鍵,新建一個class,在彈出的頁面中輸入Name(我在這里輸入是Test_2)后點擊Finish(Package選擇性填寫)。
Test_2.java里面的代碼如下:
第四步:運行程序
代碼編寫結束,最后一步既是運行,點擊Run->Run Configurations ,彈出的頁面中,左邊是導航,右邊是參數配置界面,首先點擊坐標導航中的Java Application,點擊"新增"圖標,會在Java Application下面生成與Class Name同名的application,這里是Test_2.如下圖.
這時候,需要配置Java代碼中在main函數中用到的兩個參數,即文檔的讀取路徑,以及reduce后文檔的輸出路徑,在main函數中我們有用到args[0]、args[1],所以,這里我們需要輸入hdfs路徑。
輸入完成后點擊“Run”,如果沒有問題的話,此時即可正常運行了,讓我們來看下運行的結果
到此,一個簡單的Linux下利用Eclipse開發hadoop的程序即完成了。希望都可以從中學到知識..........