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)