MapReduce执行流程
2016-05-19 16:39
274 查看
百科:MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。
当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。
1.执行MR的命令:
hadoop jar <jar在linux的路径> <main方法所在的类的全类名> <参数>
例子:
hadoop jar /root/wc1.jar
2.MR执行流程
(1).客户端提交一个mr的jar包给JobClient(提交方式:hadoop jar ...)
(2).JobClient通过RPC和ResourceManager进行通信,返回一个存放jar包的地址(HDFS)和jobId
(3).client将jar包写入到HDFS当中(path = hdfs上的地址 + jobId)
(4).开始提交任务(任务的描述信息,不是jar, 包括jobId,jar存放的位置,配置信息等等)
(5).RM进行初始化任务
(6).读取HDFS上的要处理的文件,开始计算输入分片,每一个分片对应一个MapperTask
(7).NodeManager通过心跳机制领取任务(任务的描述信息)
(8).下载所需的jar,配置文件等
(9).NM启动一个java child子进程,用来执行具体的任务(MapperTask或ReducerTask)
(10).将结果写入到HDFS当中
当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。
1.执行MR的命令:
hadoop jar <jar在linux的路径> <main方法所在的类的全类名> <参数>
例子:
hadoop jar /root/wc1.jar
2.MR执行流程
(1).客户端提交一个mr的jar包给JobClient(提交方式:hadoop jar ...)
(2).JobClient通过RPC和ResourceManager进行通信,返回一个存放jar包的地址(HDFS)和jobId
(3).client将jar包写入到HDFS当中(path = hdfs上的地址 + jobId)
(4).开始提交任务(任务的描述信息,不是jar, 包括jobId,jar存放的位置,配置信息等等)
(5).RM进行初始化任务
(6).读取HDFS上的要处理的文件,开始计算输入分片,每一个分片对应一个MapperTask
(7).NodeManager通过心跳机制领取任务(任务的描述信息)
(8).下载所需的jar,配置文件等
(9).NM启动一个java child子进程,用来执行具体的任务(MapperTask或ReducerTask)
(10).将结果写入到HDFS当中
相关文章推荐
- <button> 和 input button的对比(实实在在的被坑了一把!)
- java并发编程——并发容器和并发工具介绍
- Algorithm JAVA写算法 验证哥德巴赫猜想
- nginx学习笔记五(nginx的事件模块定义)
- Asp.net中GridView使用详解
- linux密码生成
- Redis主从复制
- 宏(define)与常量(const)
- Android6.0运行时权限处理详解
- eclipse创建maven工程报错 Could not resolve archetype org.apache.maven.archetypes 解决
- xunsearch之php索引维护(四)
- 流形学习-高维数据的降维与可视化
- 策略模式
- 第十二周实践项目3————数组类的运算的实现
- C语言常见字符串面试题
- When we call objective c is runtime language what does it mean? 我们说的oc是动态运行时语言是什么意思?
- uva662(DP)
- htmlunit使用
- 【MVC】ASP.NET MVC Forms验证机制
- lua 字符串 正则表达式 转义 特殊字符