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

MapReduce架构是Hadoop框架中最核心的设计之一。


MapReduce 的思想简单的一句话解释就是“任务的分解与结果的汇总”。MapReduce 从名字上来看,两个动词Map 和Reduce,
“Map(地图)”就是将一个图分解成为多个子图,
“Reduce(缩小)”就是将分解后多任务处理的结果汇总起来,得出最后的分析结果。


通俗说MapReduce 是一套从海量源数据提取分析元素最后返回结果集的编程模型,将文件分布式存储到硬盘是第一步,而从海量数据中提取分析我们需要的内容就是MapReduce 做的事了。


健康监测


由于Hadoop 处于一个极其脆弱的环境,各计算单元发生故障的可能性是存在的,恰当的健康监测是判断计算单元是否正常工作的基础架构,它有两种基本形式:


第一种:命令/响应(ping/echo):
探测器定时发出一个命令,并希望预定时间内收到一个审查计算单元的响应,这种响应应该力求对于各个计算单元是统一的。

这种健康监测的特点是简单,但是待审查计算单元时间常数不一致时,将很难确定同步周期。


第二种:心跳(dead man):


“心跳”是一种主动检测方案,由被测计算单元主动发出一个自检结果信息(心跳),由探测器收听这个信息,如果心跳失败,则可以判断这个计算单元失灵,并通知按照可靠性策略纠正错误计算单元。心跳也可以同时传递数据,比如传递上一次处理的日志。

心跳方式比较灵活,可以适应待审查计算单元时间常数不一致的情况,缺点是监测器要复杂一些。由于分布式计算各计算点情况比较复杂,所以Hadoop 采用了心跳方案,以保证即使系统非常脆弱,也能正常完成分布式计算任务。


MapReduce 基本架构

在分布式系统中,机器集群就可以看作硬件资源池,将并行的任务拆分,然后交由每一个空闲机器资源去处理,能够极大地提高计算效率,同时这种具体资源无关性,对于计算集群的扩展无疑提供了最好的设计保证。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值