MapReduce架构简介

前言:

MapReduce是用于数据处理的一种编程模型,简单但足够强大,专门为并行处理大数据而设计。
MapReduce的处理过程分为两个步骤:map和reduce。每个阶段的输入输出都是key-value的形式,key和value的类型可以自行指定。map阶段对切分好的数据进行并行处理,处理结果传输给reduce,由reduce函数完成最后的汇总。
到了2.0之后,MapReduce可以理解为是一个jar包或一个程序,这个程序要运行在Yarn上面,上面有两个进程,ResourceManager和NodeManager,ResourceManager里面两个模块是什么,Application Manager: 应用程序管理器 和 Scheduler:调度器,NodeManager相当于执行一个容器,这个容器里面有 CPU+Memory,这个容器运行一个封装的任务,MapTask(映射任务)或者跑ReduceTask(归约任务)

下面简单介绍下MapReduce2架构设计或者称为MapReduce提交到Yarn的工作流程:

  • 1:用户向YARN中提交应用程序,其中包括ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。
  • 2:ResourceManager为该应用程序分配第一个Container,并与对应的Node-Manager通信,要求它在这个Container中启动应用
    程序的ApplicationMaster。
  • 3:ApplicationMaster首先向ResourceManager注册,这样用户可以直接通过ResourceManage查看应用程序的运行状态,然后
    它将为各个任务申请资源,并监控它的运行状态,直到运行结束,即重复步骤4~7。
  • 4:ApplicationMaster采用轮询的方式通过RPC协议向ResourceManager申请和领取资源。
  • 5:一旦ApplicationMaster申请到资源后,便与对应的NodeManager通信,要求它启动任务。
  • 6:NodeManager为任务设置好运行环境(包括环境变量、JAR包、二进制程序等)后,将任务启动命令写到一个脚本中,并通
    过运行该脚本启动任务。
  • 7:各个任务通过某个RPC协议向ApplicationMaster汇报自己的状态和进度,以让ApplicationMaster随时掌握各个任务的运行
    状态,从而可以在任务失败时重新启动任务。在应用程序运行过程中,用户可随时通过RPC向ApplicationMaster查询应用程序
    的当前运行状态。
  • 8:应用程序运行完成后,ApplicationMaster向ResourceManager注销并关闭自己。

原文地址:http://blog.51cto.com/10814168/2121748

时间: 2024-10-12 15:14:37

MapReduce架构简介的相关文章

2本Hadoop技术内幕电子书百度网盘下载:深入理解MapReduce架构设计与实现原理、深入解析Hadoop Common和HDFS架构设计与实现原理

这是我收集的两本关于Hadoop的书,高清PDF版,在此和大家分享: 1.<Hadoop技术内幕:深入理解MapReduce架构设计与实现原理>董西成 著  机械工业出版社2013年5月出版 2.<Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理>蔡斌.陈湘萍 著  机械工业出版社2013年4月出版 百度网盘下载地址: http://pan.baidu.com/s/1sjNmkFj

浅出深入MySQL-MySQL架构之架构简介

MySQL架构简介 MySQL服务器由SQL层和存储引擎层构成.SQL层功能包括权限判断.SQL解析和查询缓存处理等,存储引擎层则是完成底层数据库数据存储操作.如下图: SQL层可分为三层,分别是连接/线程处理层.查询缓存和查询分析器层.优化器层.连接/线程处理层主要用来处理客户端的请求.身份验证和数据库安全性验证等.查询缓存和查询分析器层是SQL层里头的核心部分,负责查询的解析.优化.缓存,以及所有内置的函数.存储过程.触发器.视图等.优化器主要负责存储和获取所有存储在数据库中的数据.

openstack架构简介J版(更新中)

title : OPENSTACK架构简介 openstack的发展及历史 openstack是什么? OpenStack是一个美国国家航空航天局和Rackspace合作研发的云端运算?软件,以Apache许可证授权,并且是一个自由软件和开放源代码项目. 通俗点来讲,openstack就是一个用python编写的linux软件,openstack是一个开源云平台. openstack能干嘛? openstack最基础的功能就是产生云主机(vm虚拟机),用这些虚拟机可以做你想做的很多事.例如产生一

自己动手写处理器之第一阶段(3)——MIPS32指令集架构简介

将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是第四篇,我尽量每周四篇 1.4 MIPS32指令集架构简介 本书设计的处理器遵循MIPS32 Release 1架构,所以本节介绍的MIPS32指令集架构指的就是MIPS32 Release 1. 1.4.1 数据类型 指令的主要任务就是对操作数进行运算,操作数有不同的类型和长度,MIPS32提供的基本数据类型如下. 位(b):长度是1bit. 字节(Byte):长度是8bit. 半字(Half Word):长度是16bit. 字(

一张图看懂MapReduce 架构是如何工作的?

MapReduce架构是Hadoop框架中最核心的设计之一. MapReduce 的思想简单的一句话解释就是"任务的分解与结果的汇总".MapReduce 从名字上来看,两个动词Map 和Reduce, "Map(地图)"就是将一个图分解成为多个子图, "Reduce(缩小)"就是将分解后多任务处理的结果汇总起来,得出最后的分析结果. 通俗说MapReduce 是一套从海量源数据提取分析元素最后返回结果集的编程模型,将文件分布式存储到硬盘是第一步

淘宝高性能可伸缩平台架构简介 (转)

一 应用无状态(淘宝session框架) 假如在session中保存了大量与客户端的状态信息,保存状态信息的server宕机时 通常通过集群解决,不仅有负载均衡,更重要的是要有失效恢复failover tomcat用集群节点广播复制,jboss用配对复制等session状态复制策略,但严重影响系统的伸缩性,不能通过增加更多的机器达到良好的水平伸缩 因为集群节点间session通信随着节点的增多而开销增大,因此要想做到应用本身的伸缩性,要保证应用无状态,这样集群中的各个节点来说都是相同的,使系统更

4.1 MapReduce架构(1.0)

1. MapReduce架构: 各个角色的功能:   2. MapReduce--容错性: JobTracker 单点故障,一旦出现故障,整个集群不可用 TaskTracker 周期性向JobTracker汇报心跳 一旦出现故障,上面所有任务将被调度到其他节点上 MapTask/ReduceTask 运行失败后,将被调度到其他节点上重新执行 3. MapReduce-资源组织方式: 机器用"slot"描述资源数量 由管理员配置slot数目(一般根据CPU,如一个cpu运行两个进程) 分

MapReduce架构与生命周期

MapReduce架构与生命周期 概述:MapReduce是hadoop的核心组件之一,可以通过MapReduce很容易在hadoop平台上进行分布式的计算编程.本文组织结果如下:首先对MapReduce架构和基本原理进行概述,其次对整个MapReduce过程的生命周期进行详细讨论. 参考文献:董西城的<Hadoop技术内幕>以及若干论坛文章,无法考证出处. MapReduce架构和基本原理概述 MapReduce主要分为Map和Reduce两个过程,采用了M/S的设计架构.在1.0系列中,主

鸟哥的 Linux 私房菜(服务器) 第三章 局域网络架构简介 第四章 连上 Internet

鸟哥的 Linux 私房菜(服务器) 第三章 局域网络架构简介 第四章 连上 Internet [TOC] 3.1 局域网络的联机 3.1.1 局域网络的布线规划 3.1.1-1 Linux 直接联网-与 PC 同地位 3.1.1-2 Linux 直接联网-与一般 PC 分开网域 3.1.1-3 Linux 直接联网-让 Linux 直接管理 LAN 3.1.1-4 Linux 放在防火墙后-让 Linux 使用 Private IP 3.2 本书使用的内部联机网络参数与通讯协议 3.2.1 联