MapReduce架构

 

d7ac7de1e8e050d4d63603d603f806d736a.jpg

1、客户端向Yarn提交一个程序application(包含程序主体applicationMaster和程序启动命令)

2、ResourceManager接收请求后会在集群中寻找一个NodeManager并分配一个Container,与对应的NodeManager通信(rpc通信)并要求container启动applicationMaster;

3、applicationMaster向ResourceManager注册(这样就可以通过yarn的web界面查看任务运行状态),

4、根据任务信息向ResourceManager申请资源(Container);

5、由于是分布式计算,所以applicationMaster申请到资源后会向另外的NodeManager节点和自己的NodeManager节点rpc通信并启动container(运行MapTask和ReduceTask),每个container里面的Task时刻向applicationMaster 汇报( rpc通信)自己运行的状态和进度,为了防止任务失败能及时重启。

6、当任务运行完成,ApplicationMaster会向ResourceManager注销并关闭自己。

 

转载于:https://my.oschina.net/u/3862440/blog/2252674

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MapReduce是Hadoop分布式计算框架中的一种编程模型,用于处理大规模数据集。MapReduce架构由两个主要组件构成:Map和Reduce。 Map任务是对数据的并行处理过程,它将输入数据切分成多个小块,然后分配给集群中的多个节点进行并行计算。Map任务会将每个输入数据块转换为键值对,然后将这些键值对传递给Reduce任务。 Reduce任务是对Map任务的输出进行汇总和归约的过程,它将键值对作为输入,然后对相同键的值进行汇总和归约,最终输出结果。 整个MapReduce架构的工作流程如下: 1. 输入数据被切分成多个小块,并分配给集群中的多个节点进行Map任务的并行计算。 2. Map任务将输入数据块转换为键值对,并将这些键值对传递给Reduce任务。 3. Reduce任务对Map任务的输出进行汇总和归约,最终输出结果。 MapReduce架构具有以下特点: 1. 易于扩展和部署:MapReduce架构可以很容易地扩展到数千个计算节点,以处理大量数据,同时保持高性能和高可靠性。 2. 高性能和高效率:MapReduce架构可以并行处理大量数据,从而提高数据处理的速度和效率。 3. 适用于大规模数据处理:MapReduce架构适用于处理大规模数据集,可以在较短的时间内处理大量数据。 综上所述,MapReduce架构是Hadoop分布式计算框架的核心组件之一,它具有易于扩展和部署、高性能和高效率、适用于大规模数据处理等特点,是处理大规模数据集的理想解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值