Hadoop開發環境搭建html
感謝參考網站:http://www.cnblogs.com/huligong1234/p/4137133.htmljava
1、軟件準備git
JDK:jdk-7u80-windows-x64.exegithub
http://www.oracle.com/technetwork/java/javase/archive-139210.htmlapache
Eclipse:eclipse-jee-mars-2-win32-x86_64.zipwindows
http://www.eclipse.org/downloads/oracle
Hadoop:hadoop-2.6.4.tar.gzapp
Hadoop-Src:hadoop-2.6.4-src.tar.gzeclipse
http://hadoop.apache.org/releases.htmloop
Ant:apache-ant-1.9.6-bin.zip
http://ant.apache.org/bindownload.cgi
Hadoop-Common:hadoop2.6(x64)V0.2.zip (2.4之後)、(hadoop-common-2.2.0-bin-master.zip)
2.2:https://github.com/srccodes/hadoop-common-2.2.0-bin
2.6:http://download.csdn.net/detail/myamor/8393459
Hadoop-eclipse-plugin:hadoop-eclipse-plugin-2.6.0.jar
https://github.com/winghc/hadoop2x-eclipse-plugin
2、搭建環境
1. 安裝JDK
執行「jdk-7u80-windows-x64.exe」,步驟選擇默認下一步便可。
2. 配置JDK、Ant、Hadoop環境變量
解壓hadoop-2.6.4.tar.gz、apache-ant-1.9.6-bin.zip、hadoop2.6(x64)V0.2.zip、hadoop-2.6.4-src.tar.gz到本地磁盤,位置任意。
配置系統環境變量JAVA_HOME、ANT_HOME、HADOOP_HOME,並將這些環境變量的bin子目錄配置到path變量中。
將hadoop2.6(x64)V0.2下的hadoop.dll和winutils.exe複製到HADOOP_HOME/bin目錄下。
3. 配置Eclipse
將hadoop-eclipse-plugin-2.6.0.jar複製到eclilpse的plugins目錄下。
啓動eclipse,並設置好workspace。插件安裝成功的話,啓動以後能夠看到以下內容:
4. 配置hadoop
打開「window」-「Preferenes」-「Hadoop Mep/Reduce」,配置到Hadoop_Home目錄。
打開「window」-「show view」 -「Mepreduce Tools」 –「Mep/Reduce Locations」,建立一個Locations,配置以下。
1位置爲配置的名稱,任意。
2位置爲mapred-site.xml文件中的mapreduce.jobhistory.address配置。
3位置爲core-site.xml文件中的fs.default.name配置。
配置好以上信息以後,能夠在Project Explorer中看到如下內容,即表示配置成功。
上圖表示讀取到了配置的hdfs信息,一共有3個文件夾input、output、output1,input目錄下有3個文件。
注:以上內容爲我本身環境中建立的,你看到的可能跟個人不同。
內容能夠經過在hadoop.master上執行
hadoop fs -mkdir input --建立文件夾
hadoop fs -put $localFilePath input --將本地文件上傳到HDFS的input目錄下
3、建立示例程序
1. 新建一個WordCount類
打開eclipse,建立一個Map/Reduce Project,並建立一個org.apache.hadoop.examples.WordCount類。
拷貝hadoop-2.6.4-src.tar.gz中hadoop-mapreduce-project\hadoop-mapreduce-examples\src\main\java\org\apache\hadoop\examples下的WordCount.java文件中的內容到新建立的類中。
2. 配置log4j
在src目錄下,建立log4j.properties文件
log4j.rootLogger=debug,stdout,R log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%5p - %m%n log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=mapreduce_test.log log4j.appender.R.MaxFileSize=1MB log4j.appender.R.MaxBackupIndex=1 log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=%p %t %c - %m% log4j.logger.com.codefutures=DEBUG
3. 配置運行參數
選擇「run」-「run configurations」,在「Arguments」里加入「hdfs://hadoop.master:9000/user/hadoop/input hdfs://hadoop.master:9000/user/hadoop/output1」。
格式爲「輸入路徑 輸出路徑」,若是輸出路徑必須爲空或未建立,不然會報錯。
以下圖:
注:若是」Java Application」下面沒有「WordCount」,能夠選擇右鍵,New一個便可。
4. 執行查看結果
配置好以後,執行。查看控制檯輸出如下內容,表示執行成功:
INFO - Job job_local1914346901_0001 completed successfully INFO - Counters: 38 |
在「DFS Locations」下,刷新剛建立的「hadoop」看到本次任務的輸出目錄下是否有輸出文件。
4、問題FAQ
1. 問題1:NativeCrc32.nativeComputeChunkedSumsByteArray錯誤
【問題描述】啓動示例程序時,報nativeComputeChunkedSumsByteArray異常。控制檯日誌顯示以下:
Exception in thread "main" java.lang.UnsatisfiedLinkError: org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSumsByteArray(II[BI[BIILjava/lang/String;JZ)V
at org.apache.hadoop.util.NativeCrc32.nativeComputeChunkedSumsByteArray(Native Method)
【緣由分析】hadoop.dll文件版本錯誤,替換對應的版本文件。因爲hadoop.dll 版本問題出現的,這是因爲hadoop.dll 版本問題,2.4以前的和自後的須要的不同,須要選擇正確的版本(包括操做系統的版本),而且在 Hadoop/bin和 C:\windows\system32 上將其替換。
【解決措施】下載對應的文件替換便可。http://download.csdn.net/detail/myamor/8393459 (2.6.X_64bit)