Centos下使用Hadoop2.6.0-eclipse-plugin外掛
我的開發環境:
作業系統centos5.5 一個namenode 兩個datanode
Hadoop版本:hadoop-0.20.203.0
Eclipse版本:eclipse-java-helios-SR2-linux-gtk.tar.gz(使用3.7的版本總是崩潰,讓人鬱悶)
第一步:先啟動hadoop守護程序
第二步:在eclipse上安裝hadoop外掛
1.複製 hadoop安裝目錄/contrib/eclipse-plugin/hadoop-0.20.203.0-eclipse-plugin.jar 到 eclipse安裝目錄/plugins/ 下。
2.重啟eclipse,配置hadoop installation directory。
如果安裝外掛成功,開啟Window-->Preferens,你會發現Hadoop Map/Reduce選項,在這個選項裡你需要配置Hadoop installation directory。配置完成後退出。
3.配置Map/Reduce Locations。
在Window-->Show View中開啟Map/Reduce Locations。
在Map/Reduce Locations中新建一個Hadoop Location。在這個View中,右鍵-->New Hadoop Location。在彈出的對話方塊中你需要配置Location name,如Hadoop,還有Map/Reduce Master和DFS Master。這裡面的Host、Port分別為你在mapred-site.xml、core-site.xml中配置的地址及埠。如:
Map/Reduce Master
192.168.1.1019001
DFS Master
192.168.1.101 9000
配置完後退出。點選DFS Locations-->Hadoop如果能顯示資料夾(2)說明配置正確,如果顯示"拒絕連線",請檢查你的配置。
第三步:新建專案。
File-->New-->Other-->Map/Reduce Project
專案名可以隨便取,如WordCount。
複製 hadoop安裝目錄/src/example/org/apache/hadoop/example/WordCount.java到剛才新建的專案下面。
第四步:上傳模擬資料資料夾。
為了執行程式,我們需要一個輸入的資料夾,和輸出的資料夾。
在本地新建word.txt
java c++ python c java c++ javascript helloworld hadoop mapreduce java hadoop hbase
通過hadoop的命令在HDFS上建立/tmp/workcount目錄,命令如下:bin/hadoop fs -mkdir /tmp/wordcount
通過copyFromLocal命令把本地的word.txt複製到HDFS上,命令如下:bin/hadoop fs -copyFromLocal /home/grid/word.txt /tmp/wordcount/word.txt
第五步:執行專案
1.在新建的專案Hadoop,點選WordCount.java,右鍵-->Run As-->Run Configurations
2.在彈出的Run Configurations對話方塊中,點Java Application,右鍵-->New,這時會新建一個application名為WordCount
3.配置執行引數,點Arguments,在Program arguments中輸入“你要傳給程式的輸入資料夾和你要求程式將計算結果儲存的資料夾”,如:
hdfs://centos1:9000/tmp/wordcount/word.txt hdfs://centos1:9000/tmp/wordcount/out
4、如果執行時報java.lang.OutOfMemoryError: Java heap space 配置VM arguments(在Program arguments下)
-Xms512m -Xmx1024m -XX:MaxPermSize=256m
5.點選Run,執行程式。
點選Run,執行程式,過段時間將執行完成,等執行結束後,檢視執行結果,使用命令: bin/hadoop fs -ls /tmp/wordcount/out檢視例子的輸出結果,發現有兩個資料夾和一個檔案,使用命令檢視part-r-00000檔案, bin/hadoop fs -cat /tmp/wordcount/out/part-r-00000可以檢視執行結果。
c 1 c++ 2 hadoop 2 hbase 1 helloworld 1 java 3 javascript 1 mapreduce 1 python 1