MR执行环境有两种:本地测试环境,服务器环境
本地测试环境(windows,用于测试)
1、下载Winddows版的Hadoop程序,解压后在Hadoop目录的bin目录放置一个winutils.exe可执行文件(下载地址:http://pan.baidu.com/s/1mhrsQyG)
2、在windows下配置hadoop的环境变量
HADOOP_HOME E:\big-data\hadoop-2.5.2\hadoop-2.5.2 Path %HADOOP_HOME%\bin;%HADOOP_HOME%\sbin;
3、拷贝debug工具(winutils.ext)到HADOOP_HOME/bin
3、修改hadoop的源码
将Hadoop org.apachehadoop.io.nativeio.NativeIO.java 和 org.apachehadoop.mapred.YARNRunner.java拷备到项目的src目录下(包路径也不能变)
注意:修改项目JDK,确保项目的lib需要真实安装的jdk的lib,而不是工具自带的JDK
5、MR调用的代码需要改变:
a、src不能有服务器的hadoop配置文件
b、在调用是使用:
Configuration config = new Configuration(); config.set("fs.defaultFS", "hdfs://node7:8020"); config.set("yarn.resourcemanager.hostname", "node7");
在Eclipse中执行 Debug as -> java application;
服务器环境(用于真正企业运行环境)
1、直接运行Jar包方式,参照:http://www.cnblogs.com/raphael5200/p/5223684.html
2、在本地直接调用,执行过程在服务器上(真正企业运行环境)
a、把MR程序打包(jar),直接放到本地一个目录,我放在 E:\\jar\\wc.jar
b、修改hadoop的源码
将Hadoop org.apachehadoop.io.nativeio.NativeIO.java 和 org.apachehadoop.mapred.YARNRunner.java拷备到项目的src目录下(包路径也不能变)
注意:修改项目JDK,确保项目的lib需要真实安装的jdk的lib,而不是工具自带的JDK
c、增加一个属性:
Configuration config =new Configuration(); config.set("mapred.jar", "E:\\jar\\wc.jar");
d、在Eclipse中执行 Debug as -> java application 。
来源:https://www.cnblogs.com/raphael5200/p/5223728.html