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


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

    一、环境说明:

        操作系统:win7

        eclipse:Version: Mars Release (4.5.0)

        hadoop:2.5.1

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

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

    本地测试环境(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");

    三、基本步骤说明:

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

    2、下载winutils.exe。将该软件拷贝到E:hadoophadoop-2.5.1in下

    image

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

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

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

    image

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

    6、其他限制条件:

        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");

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

  • 相关阅读:
    关于WPF 中 “System.Windows.Markup.XamlParseException”类型的未经处理的异常在 PresentationFramework.dll 中发生 异常的处理。
    RelativePanel 属性说明
    c# winform中遍历控件
    wpf中遍历界面控件的方法
    wpf 处理倒计时问题
    wpf 处理获取鼠标点击方法
    界面控件委托方式 wpf
    如何在WPF 应用中获取窗体或控件的句柄
    关系型数据库版本控制之(Flask SQLalchemy Alembic )
    项目管理方法论之六西格玛管理
  • 原文地址:https://www.cnblogs.com/tq03/p/5101916.html
Copyright © 2020-2023  润新知