本文的目的是实现在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:\hadoop\hadoop-2.5.1

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

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

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

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

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中打断点调试。

攻城狮在路上(陆)-- 配置hadoop本地windows运行MapReduce程序环境的更多相关文章

  1. 攻城狮在路上(壹) Hibernate(一)--- 软件环境、参考书目等一览表

    1.环境配置: web容器:tomcat6.0 JDK:1.7.0_51 hibernate:4.2.0.Final 操作系统:WIN8 64位 数据库:mysql  Ver 14.12 Distri ...

  2. 攻城狮在路上(叁)Linux(零)--- 软件环境、参考书目等一览表

    1.参考书目:鸟哥的Linux私房菜. 2.环境: Cent_os.

  3. 攻城狮在路上(贰) Spring(一)--- 软件环境、参考书目等一览表

    一.软件环境: 二.参考书目: <Spring 3.X 企业应用开发实战> 陈雄华.林开雄著 电子工业出版社出版 三.其他说明: spring 源码地址:https://github.co ...

  4. 高可用Hadoop平台-运行MapReduce程序

    1.概述 最近有同学反应,如何在配置了HA的Hadoop平台运行MapReduce程序呢?对于刚步入Hadoop行业的同学,这个疑问却是会存在,其实仔细想想,如果你之前的语言功底不错的,应该会想到自动 ...

  5. 攻城狮在路上(陆)-- hadoop分布式环境搭建(HA模式)

    一.环境说明: 操作系统:Centos6.5 Linux node1 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 ...

  6. Hadoop YARN上运行MapReduce程序

    (1)配置集群 (a)配置hadoop-2.7.2/etc/hadoop/yarn-env.sh 配置一下JAVA_HOME export JAVA_HOME=/home/hadoop/bigdata ...

  7. 攻城狮在路上(陆)-- hadoop单机环境搭建(一)

    一.环境说明:     操作系统:Centos6.5 Linux node1 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86 ...

  8. 攻城狮在路上(陆)-- 提交运行MapReduce程序到hadoop集群运行

    此种方式不能直接在eclipse中调试代码. 首先需要在src下放置服务器上的hadoop配置文件:core-site.xml\yarn-site.xml\hdfs-site.xml\mapred-s ...

  9. 攻城狮在路上(叁)Linux(十一)--- 用户与用户组、文件权限、目录配置

    一.用户与用户组: 3个概念:文件所有者(user).用户组(group).其他人(others). /etc/passwd  <==存放所有的用户名 /etc/shadow  <==存放 ...

随机推荐

  1. ubuntu16.04文件形式安装mongodb

    下载文件:mongodb-linux-x86_64-ubuntu1604-3.4.1.tgz,解压到home目录. 在mongodb目录下新建data/db目录. 在桌面新建一个shell文件run- ...

  2. CSS3的filter用法

    最近到处看到有人在说CSS3的filter一直没有时间自己去测试这效果.今天终于抽出时间学习这个CSS3的Filter.不整不知道呀,一整才让我感到吃惊,太强大了.大家先来看个效果吧: 我想光看上面的 ...

  3. thinkphp中的查询语句

    <?php namespace Admin\Controller; use Think\Controller; class MainController extends Controller { ...

  4. sed awk 样例

    sed [options] '[action]' filename options: -n:一般sed命令会把所有数据都输出到屏幕,如果加入此选项,则只会把经过sed命令处理的行输出到屏幕. -e:允 ...

  5. 手机端页面自适应之rem布局

    W3C官网上是这样描述rem的--"font size of the root element" . rem布局在移动端发挥的比较好. 阿里团队高清方案: <script&g ...

  6. getchar fflush 的分析笔记

    问题描述: 统计从键盘输入的若干个字符中有效字符的个数,以换行符作为输入结束.有效字符是指第一个空格符前面的字符,若输入字符中没有空格符,则有效字符为除了换行符之外的所有字符. 示例代码: #incl ...

  7. tomcat启动的了,但是加载项目失败

    解决方法: 1.tomcat启动是好的,也有可能找不到tomcat的dll,所以,检查一下myeclipse所使用的tomcat的解压目录是不是有空格,有空格的话,重新解压到一个新目录,千万不要有空格 ...

  8. 用.htaccess文件实现URL重写

    注:第一部分来自 http://www.cnblogs.com/wangkongming/archive/2012/11/13/2768251.html     这位博主的个人网站简洁   还有诗歌  ...

  9. MySQL主从复制

    Mysql主从复制介绍 MySQL支持单向.双向.链式级联.实时.异步复制.在复制过程中,一台服务器充当服务器(Master),而一个或多个其它的服务器充当从服务器(Slave). 复制可以是单向:M ...

  10. Flask安装过程中“配置虚拟环境”步骤报错,找不到activate.bat

    Run virtualenv venv --no-setuptools http://stackoverflow.com/questions/21826859/setting-up-a-virtual ...