攻城狮在路上(陆)-- 配置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:\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中打断点调试。
最新文章
- ReportView报表开发记录(一)
- *cf.4 贪心
- Mac平台上OpenCV开发环境搭建
- Codeforces #369 div2 D.Directed Roads
- uploadify
- [GeoServer]Openlayers简单调用
- IOS-CGAffineTransformMake 矩阵变换 的运算原理
- Java中的继承与组合
- Android Sensor Test
- 匿名方法和Lambda表达式
- 採用Android中的httpclient框架发送post请求
- Python操作HBase之happybase
- ajax分页借鉴
- Java中锁分类
- 图片的Base64编码
- 远程桌面连接报错:出现身份验证错误,要求函数不受支持,由于CredSSP加密Oracle修正。
- 贪心算法——字典序最小问题,Saruman‘s Army
- vue-webpack 引入echarts 注意事项
- 最长公共子序列&;最长公共子串
- 在Debug模式下中断, 在Release模式下跳出当前函数的断言
热门文章
- Html中<;font>;标签的使用
- maven 加入json-lib.jar 报错 Missing artifact net.sf.json-lib:json-lib:jar:2.4:compile
- bootstrap学习笔记--bootstrap组件
- PHP优化小建议
- FlumeNG 笔记
- centos 7.0 安装nginx 1.9.10
- Mac下Jenkins+SVN+Xcode构建持续
- Linux基础知识整理
- 关于MySQL的wait_timeout连接超时问题报错解决方案
- ubuntu16.04(beaglebone) 下vim 和gcc 的信息