前期工作
我的Eclipse是安裝在Windows下的,通過Eclipse執行程序連接Hadoop, 需要讓虛擬機的訪問地址和本機的訪問地址保持在同一域內,虛擬機的地址更改前面的文章介紹過了,如果想改windows本機ip地址,打開“網絡和共享中 心“,點擊左側菜單”更改適配器設置“,選擇相應連接網絡進行IpV4屬性地址修改即可。我虛擬機地址為192.168.3.137
准備工作
地址配置好之后,在Eclipse上要安裝Hadoop的插件(你可以參考源碼自行修改)。
打開Eclipse安裝路徑---\eclipse\plugins,把hadoop-eclipse-plugin-1.1.2.jar放到這個目錄下。
windows本機新建目錄(本人在E:\hadoopMapReduceDir),從Linux的Hadoop安裝包內復制所有jar放到這個目錄下備用。
Ubuntu 13.04上搭建Hadoop環境 http://www.linuxidc.com/Linux/2013-06/86106.htm
Ubuntu 12.10 +Hadoop 1.2.1版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm
Ubuntu上搭建Hadoop環境(單機模式+偽分布模式) http://www.linuxidc.com/Linux/2013-01/77681.htm
Ubuntu下Hadoop環境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm
單機版搭建Hadoop環境圖文教程詳解 http://www.linuxidc.com/Linux/2012-02/53927.htm
搭建Hadoop環境(在Winodws環境下用虛擬機虛擬兩個Ubuntu系統進行搭建) http://www.linuxidc.com/Linux/2011-12/48894.htm
配置工作
打開Eclipse,在菜單欄點擊Window,showView選擇Other打開選擇顯示的窗口,如下
在MapReduceTools 目錄下找到這只大象,將它拖到Eclipse底部顯示(和Console放一塊)
打開新建配置窗口,設置連接信息,下圖是本機的連接配置名稱自己填寫,兩個端口和username 按圖填寫(Hadoop默認的端口)
點擊Eclipse菜單欄Window ---》Preference,找到HadoopMap/Reduce,點擊之后在右側選擇導入Hadoop jar的路徑,這樣以后新建Hadoop項目,jar包會自動從該路徑加載,路徑上面已設,添加進來如圖:
創建項目
點擊File---》other,打開新建對話框,創建Map/ReduceProject項目NewHadoopTest
創建完成后你會看到jar包自動加載到項目之中
拷貝Linux下Hadoop的src目錄下的example java項目 到剛剛創建的工程下src下,
Linux下啟動Hadoop(用JPS檢查是否已啟動),在Eclipse連接,連接成功后Hadoop目錄就會顯示如下
修改代碼
現在設置方面基本完成,接下來就是針對WordCount.java所做的修改和HDFS路徑配置
打開WordCount.java(可能會報錯),將main方法更改如下:
如果GenericOptionsParser報錯,將Hadoop-core-1.1.2.jar加到項目中(或放到jar配置路徑)。新建a.txt文件,輸入下面內容,保存
在hadoopname下user—》hadoop目錄創建input文件夾,將文件a.txt上傳到HDFS input上,過程如下(不要創建output目錄,不然執行會報錯,),如果HDFS已有,可Linux使用命令hadoop fs -rmr /output刪除)
在選擇Wordcount.java,右擊run as ---》run configurations,打開Arguments填寫input out路徑(注意:input和output路徑中間是有空格的),這里我設置查詢input下所有文件的單詞出現次數。
右擊WordCount.java,run as -àrun on hadoop 執行
執行結束后,刷新DFS Locations/ use/hadoop
自動生成output文件夾,點擊可以看到執行結果。最終結果存放在part-r-00000中,雙擊查看即可