-------android培訓、java培訓、期待與您交流! ----------
我的開發環境:
操作系統centos5.5 一個namenode 兩個datanode
Hadoop版本:hadoop-0.20.203.0
Eclipse版本:eclipse-java-helios-SR2-linux-gtk.tar.gz(使用3.7的版本總是崩潰,讓人鬱悶)
第一步:先啓動hadoop守護進程
具體參看:http://www.cnblogs.com/flyoung2008/archive/2011/11/29/2268302.html
第二步:在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.101 9001
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