Windows10+eclipse+hadoop2.7.1环境配置+wordcount-折腾笔记

刚用Ambari搭建好Hadoop,就开始写Hello World!

一、背景

1、Hadoop版本

经查看为2.7.1

[root@TJ1-000 ~]# hadoop version
Hadoop 2.7.1.2.4.0.0-169
Subversion git@github.com:hortonworks/hadoop.git -r 26104d8ac833884c8776473823007f176854f2eb
Compiled by jenkins on 2016-02-10T06:18Z
Compiled with protoc 2.5.0
From source with checksum cf48a4c63aaec76a714c1897e2ba8be6
This command was run using /usr/hdp/2.4.0.0-169/hadoop/hadoop-common-2.7.1.2.4.0.0-169.jar

二、基础环境配置

1、jdk环境配置

正常步骤,略

2、eclipse环境配置

正常步骤,略

3、下载hadoop-2.7.1.tar.gz文件

文件名:hadoop-2.7.1.tar.gz

用途:hadoop库,用于支持eclipse编译map/reduce源代码

下载地址:http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.1/hadoop-2.7.1.tar.gz

4、下载hadoop-2.7.1-src.tar.gz文件

文件名:hadoop-2.7.1-src.tar.gz

用途:hadoop源文件,用于寻找wordcount源程序

下载地址:hadoop-2.5.2-src.tar.gz: http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.1/hadoop-2.7.1-src.tar.gz

5、hadoop-eclipse-plugin-2.7.1.jar

文件名:hadoop-eclipse-plugin-2.7.1.jar

用途:eclipse开发hadoop插件

下载地址:http://download.csdn.net/detail/tondayong1981/8889075

6、下载winutils for hadoop-2.7.1组件

文件夹名: winutils-masterhadoop-2.7.1

用途:我也不知道,反正如果没有的话,就不能连接Hadoop跑程序

下载地址:https://github.com/steveloughran/winutils

三、编辑环境变量

1、添加环境变量

1)添加HADOOP_HOME,值为:目录名hadoop-2.7.1

PS:hadoop-2.7.1目录为hadoop-2.7.1.tar.gz解压后的文件夹名称。
2)追加环境变量path内容:%HADOOP_HOME%/bin

2、添加eclipse组件

将hadoop-eclipse-plugin-2.7.1.jar复制到eclipseplugins目录下

四、eclipse配置

1、打开菜单Window–Preference–Hadoop Map/Reduce进行配置,如下图所示:

2、显示Hadoop连接配置窗口:Window–Show View–Other-MapReduce Tools,如下图所示:

3、在打开的Map/Reduce Locations中连接Hadoop

Map/Reduce Master与DFS master的IP、端口信息可以查看Hadoop服务器上的core-site Hadoop配置文件。

PS:博主是通过Ambari安装的Hadoop,所以在Ambari管理面板上直接查看即可。

如果连接成功,则应为:

五、Hadoop集群环境创建wordcount测试文件

1、在HDFS上创建输入文件夹input

2、在本地创建测试输入文件

3、上传测试文件到HDFS

PS:博主的input目录的完整路径为:/user/hadoop/input

 

六、在eclipse创建Map/Reduce Project

1、新建项目

点击File–New–Other–Map/Reduce Project 命名为HadoopTest

2、新建WordCount.java文件

文件内容从:hadoop-2.7.1-srchadoop-mapreduce-projecthadoop-mapreduce-examplessrcmainjavaorgapachehadoopexamplesWordCount.java

直接复制即可

3、创建log4j.properties文件

在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%n 
log4j.logger.com.codefutures=DEBUG

 

七、Windows运行环境配置

从winutils-masterhadoop-2.7.1目录中直接拷贝bin文件夹,覆盖掉hadoop-2.7.1/文件夹中的bin目录即可。

八、运行Project

1、在eclipse中点击WordCount.java,右键,点击Run As—>Run Configurations,配置运行参数,即输入和输出文件夹

hdfs://192.168.2.50:8020/user/hadoop/input hdfs://192.168.2.50:8020/user/hadoop/output44

2、Debug

1)点击Debug进行调试

2)点击Debug标签,打开Debug详情页

3、查看运行结果

九、异常与问题

1、DFS中文件不能打开,提示:Editor could not be initialized

如图:

解决方法:winutils组件版本不对,更新了2.7.1对应版本,问题解决。

2、HDFS权限问题

百度即可

参考资料


http://www.cnblogs.com/huligong1234/p/4137133.html

http://www.cnblogs.com/xia520pi/archive/2012/05/16/2504205.html