Win7+Eclipse+Hadoop2.6.4開發環境搭建


Hadoop開發環境搭建

感謝參考網站:http://www.cnblogs.com/huligong1234/p/4137133.html

一、軟件准備

JDK:jdk-7u80-windows-x64.exe

http://www.oracle.com/technetwork/java/javase/archive-139210.html

Eclipse:eclipse-jee-mars-2-win32-x86_64.zip

http://www.eclipse.org/downloads/

Hadoop:hadoop-2.6.4.tar.gz

Hadoop-Src:hadoop-2.6.4-src.tar.gz

http://hadoop.apache.org/releases.html

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

二、搭建環境

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。插件安裝成功的話,啟動之后可以看到如下內容:

clip_image001

4. 配置hadoop

打開“window”-“Preferenes”-“Hadoop Mep/Reduce”,配置到Hadoop_Home目錄。

打開“window”-“show view” -“Mepreduce Tools” –“Mep/Reduce Locations”,創建一個Locations,配置如下。

clip_image003

1位置為配置的名稱,任意。

2位置為mapred-site.xml文件中的mapreduce.jobhistory.address配置。

3位置為core-site.xml文件中的fs.default.name配置。

clip_image005

配置好以上信息之后,可以在Project Explorer中看到以下內容,即表示配置成功。

clip_image006

上圖表示讀取到了配置的hdfs信息,一共有3個文件夾input、output、output1,input目錄下有3個文件。

注:以上內容為我自己環境中創建的,你看到的可能跟我的不一樣。

內容可以通過在hadoop.master上執行

hadoop fs -mkdir input --創建文件夾

hadoop fs -put $localFilePath input --將本地文件上傳到HDFS的input目錄下

三、創建示例程序

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”。

格式為“輸入路徑 輸出路徑”,如果輸出路徑必須為空或未創建,否則會報錯。

如下圖:

clip_image008

注:如果”Java Application”下面沒有“WordCount”,可以選擇右鍵,New一個即可。

4. 執行查看結果

配置好之后,執行。查看控制台輸出以下內容,表示執行成功:

  INFO - Job job_local1914346901_0001 completed successfully

  INFO - Counters: 38
    File System Counters
        FILE: Number of bytes read=4109
        FILE: Number of bytes written=1029438
        FILE: Number of read operations=0
        FILE: Number of large read operations=0
        FILE: Number of write operations=0
        HDFS: Number of bytes read=134
        HDFS: Number of bytes written=40
        HDFS: Number of read operations=37
        HDFS: Number of large read operations=0
        HDFS: Number of write operations=6
    Map-Reduce Framework
        Map input records=3
        Map output records=7
        Map output bytes=70
        Map output materialized bytes=102
        Input split bytes=354
        Combine input records=7
        Combine output records=7
        Reduce input groups=5
        Reduce shuffle bytes=102
        Reduce input records=7
        Reduce output records=5
        Spilled Records=14
        Shuffled Maps =3
        Failed Shuffles=0
        Merged Map outputs=3
        GC time elapsed (ms)=21
        CPU time spent (ms)=0
        Physical memory (bytes) snapshot=0
        Virtual memory (bytes) snapshot=0
        Total committed heap usage (bytes)=1556611072
    Shuffle Errors
        BAD_ID=0
        CONNECTION=0
        IO_ERROR=0
        WRONG_LENGTH=0
        WRONG_MAP=0
        WRONG_REDUCE=0
    File Input Format Counters
        Bytes Read=42
    File Output Format Counters
        Bytes Written=40

在“DFS Locations”下,刷新剛創建的“hadoop”看到本次任務的輸出目錄下是否有輸出文件。

clip_image010

四、問題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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM