cool-2018-03-09-eclipse集成Hadoop开发环境配置

步骤如下
1. 修改系统管理员名字
  为了使Eclipse能正常对Hadoop集群的HDFS上的文件能进行修改和删除,所以修改你工作时所用的Win7系统管理员名字,默认一般为"Administrator",把它修改为"root",此用户名与Hadoop集群普通用户一致。为了不至于为权限苦恼,我们可以修改Win7上系统管理员的姓名,这样就避免出现该用户在Hadoop集群上没有权限等都疼问题,会导致在Eclipse中对Hadoop集群的HDFS创建和删除文件受影响。
  首先"右击"桌面上图标"我的电脑",选择"管理",弹出界面如下:
cool-2018-03-09-eclipse集成Hadoop开发环境配置
 
  接着选择"本地用户和组",展开"用户",找到系统管理员"Administrator",修改其为"hadoop",操作结果如下图:
 
cool-2018-03-09-eclipse集成Hadoop开发环境配置
 
  最后,把电脑进行"注销"或者"重启电脑",这样才能使管理员才能用这个名字,这个名字跟节点上对应的用户名是一致的,我的叫hadoop

2.解压hadoop-2.5.2.tar.gz
解压该文件到指定目录,我解压到E:\cool\hadoop\hadoop-2.5.2
winutils.exe文件放到E:\cool\hadoop\hadoop-2.5.2\bin
cool-2018-03-09-eclipse集成Hadoop开发环境配置
配置环境变量
cool-2018-03-09-eclipse集成Hadoop开发环境配置
添加path路径
cool-2018-03-09-eclipse集成Hadoop开发环境配置
3.eclipse添加插件
把我们的"hadoop-eclipse-plugin-1.0.0.jar"放到Eclipse的目录的"plugins"中,然后重新Eclipse即可生效.重启Eclipse如下图:
cool-2018-03-09-eclipse集成Hadoop开发环境配置

4.显示MAP/Reduce视图
1)选择"Window"菜单下选择"Open Perspective",弹出一个窗体,从中选择"Map/Reduce"选项即可进行切换。
 
cool-2018-03-09-eclipse集成Hadoop开发环境配置
 
  2)在Eclipse软件的右上角,点击图标"
cool-2018-03-09-eclipse集成Hadoop开发环境配置
"中的"
cool-2018-03-09-eclipse集成Hadoop开发环境配置
",点击"Other"选项,也可以弹出上图,从中选择"Map/Reduce",然后点击"OK"即可确定。
  切换到"Map/Reduce"工作目录下的界面如下图所示。
 cool-2018-03-09-eclipse集成Hadoop开发环境配置
 
  第四步:建立与Hadoop集群的连接,在Eclipse软件下面的"Map/Reduce Locations"进行右击,弹出一个选项,选择"New Hadoop Location",然后弹出一个窗体。
 
cool-2018-03-09-eclipse集成Hadoop开发环境配置cool-2018-03-09-eclipse集成Hadoop开发环境配置cool-2018-03-09-eclipse集成Hadoop开发环境配置
切换到Advanced parameters
cool-2018-03-09-eclipse集成Hadoop开发环境配置
注意上图中的红色标注的地方,是需要我们关注的地方。
最后配置结束,查看到的内容如下所示则说明集成成功
cool-2018-03-09-eclipse集成Hadoop开发环境配置
System.setProperty("HADOOP_USER_NAME", "root");

1、MR执行环境有两种:本地测试环境,服务器环境
本地测试环境(windows):
在windows的hadoop目录bin目录有一个winutils.exe
1、在windows下配置hadoop的环境变量
2、拷贝debug工具(winutils.exe)到HADOOP_HOME/bin
3、修改hadoop的源码 ,注意:确保项目的lib需要真实安装的jdk的lib
4、MR调用的代码需要改变:
a、src不能有服务器的hadoop配置文件
b、在调用是使用:
Configuration config = new Configuration();
config.set("fs.defaultFS", "hdfs://node7:8020");
config.set("yarn.resourcemanager.hostname", "node7");
服务器环境:

首先需要在src下放置服务器上的hadoop配置文件

1、在本地直接调用,执行过程在服务器上(真正企业运行环境)
a、把MR程序打包(jar),直接放到本地
b、修改hadoop的源码 ,注意:确保项目的lib需要真实安装的jdk的lib
c、增加一个属性:
config.set("mapred.jar", "C:\\Users\\Administrator\\Desktop\\wc.jar");
d、本地执行main方法,servlet调用MR。
2、直接在服务器上,使用命令的方式调用,执行过程也在服务器上
a、把MR程序打包(jar),传送到服务器上
b、通过: hadoop jar jar路径 类的全限定名

a,1 b,1
a,3 c,3
a,2 d,2


a,3 c,3
a,2 d,2
a,1 b,1