攻城狮在路上(陆)-- 配置hadoop本地windows运行MapReduce程序环境

本文的目的是实如今windows环境下实现模拟运行Map/Reduce程序。最终实现效果:MapReduce程序不会被提交到实际集群,可是运算结果会写入到集群的HDFS系统中java

1、环境说明:

    操做系统:win7node

    eclipse:Version: Mars Release (4.5.0)apache

    hadoop:2.5.1windows

2、预备文档(仅是说明,以第三步为准):

System.setProperty("HADOOP_USER_NAME", "root");服务器

本地测试环境(windows):app

    在windows的hadoop目录bin目录有一个winutils.exeeclipse

    一、在windows下配置hadoop的环境变量工具

    二、拷贝debug工具(winutils.exe)到HADOOP_HOME/binoop

    三、修改hadoop的源码 ,注意:确保项目的lib须要真实安装的jdk的lib测试

    四、MR调用的代码须要改变:

        a、src不能有服务器的hadoop配置文件

        b、在调用是使用:

            Configuration config = new  Configuration();

            config.set("fs.defaultFS", "hdfs://node7:8020");

            config.set("yarn.resourcemanager.hostname", "node7");

3、基本步骤说明:

一、首先下载hadoop包,这里使用的是hadoop-2.5.1。解压后的路径是:E:\hadoop\hadoop-2.5.1

二、下载winutils.exe。将该软件拷贝到E:\hadoop\hadoop-2.5.1\bin下

image

三、在windows中配置HADOOP_HOME环境变量为E:\hadoop\hadoop-2.5.1,并加入到path环境变量中。

四、修改hadoop源码,在新建的Java project中拷贝下面路径的Java代码。路径保持和原来一致。

org/apache/hadoop/io/nativeio/NativeIO.java
org/apache/hadoop/mapred/YARNRunner.java

image

五、在java project的buildpath中设置,jdk不要使用eclipse自带的,修改成本身本地安装的Jdk。

六、其余限制条件:

    A、src中不能有服务器的hadoop配置文件。

    B、在调用时使用下面的代码:根据实际配置进行修改下面的参数

System.setProperty("HADOOP_USER_NAME", "root");

Configuration config = new  Configuration();

config.set("fs.defaultFS", "hdfs://node7:8020");

 config.set("yarn.resourcemanager.hostname", "node7");

七、运行代码:在eclipse中以DEBUG执行main方法便可。能够在Mapper和Reduce中打断点调试。

相关文章
相关标签/搜索