攻城獅在路上(陸)-- 配置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中打斷點調試。

相關文章
相關標籤/搜索