本文的目的是实现在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. 五、基于hadoop的nginx访问日志分析--userAgent和spider

    useragent: 代码(不包含蜘蛛): # cat top_10_useragent.py #!/usr/bin/env python # coding=utf-8 from mrjob.job ...

  2. UV动画

    [猫猫的Unity Shader之旅]之纹理映射 http://blog.csdn.net/dbtxdxy/article/details/46954417 [猫猫的Unity Shader之旅]之U ...

  3. RESTful API URI 设计的一些总结

    非常赞的四篇文章: Resource Naming Best Practices for Designing a Pragmatic RESTful API 撰写合格的 REST API JSON 风 ...

  4. LODProp3D实例

    1. Level of detail(LoD)多细节层次描述(简称LoD)是实时绘制复杂几何场景的一种有效工具.基于层次结构的动态简化方法能够根据视点的变化,实时连续地转换场景细节模型.在本例中,实现 ...

  5. Hibernate简易原生DAO的实现

    写在最前: 初学Hibernate,在尝试把JDBC项目移植到Hibernate的过程中,碰到了不少的麻烦,最让人心烦意乱的自然是SQL语句改动造成的代码混乱.其实不难,网上的解决方案有很多, 不过. ...

  6. [NOIP2016]愤怒的小鸟

    题目描述 Kiana最近沉迷于一款神奇的游戏无法自拔. 简单来说,这款游戏是在一个平面上进行的. 有一架弹弓位于(0,0)处,每次Kiana可以用它向第一象限发射一只红色的小鸟,小鸟们的飞行轨迹均为形 ...

  7. Redis 缓存过期(maxmemory) 配置/算法 详解

    LRU(Least Recently Used) 最近最少使用算法是众多置换算法中的一种. Redis中有一个 maxmemory 概念,主要是为了将使用的内存限定在一个固定的大小.Redis 用到的 ...

  8. runtime 第四部分method swizzling

    接上一篇 http://www.cnblogs.com/ddavidXu/p/5924597.html 转载来源http://www.jianshu.com/p/6b905584f536 http:/ ...

  9. 3. K线基础知识三

    1. 阴线 证券市场上指开盘价高于收盘价的K线,K线图上一般用淡蓝色标注,表示股价下跌,当收盘价低于开盘价,也就是股价走势呈下降趋势时,我们称这种形态的K线为阴线. 中间部分实体为蓝色,此时,上影线的 ...

  10. JS 初级 二(接上)

    传送门--http://www.cnblogs.com/Sabo-dudu/p/5786683.html (一) 六. JS 数组类型 数组是一种保存数据的有序列表,数组的每一项可以保存人意类型的数据 ...