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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一张图看懂MapReduce 架构是如何工作的?相关的知识,希望对你有一定的参考价值。

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


MapReduce 的思想简单的一句话解释就是“任务的分解与结果的汇总”。MapReduce 从名字上来看,两个动词Map 和Reduce,

“Map(地图)”就是将一个图分解成为多个子图,

“Reduce(缩小)”就是将分解后多任务处理的结果汇总起来,得出最后的分析结果。


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


健康监测


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


第一种:命令/响应(ping/echo):

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

技术分享

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


第二种:心跳(dead man):


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

技术分享

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


MapReduce 基本架构

技术分享

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


本文出自 “中科院计算所培训” 博客,谢绝转载!

以上是关于一张图看懂MapReduce 架构是如何工作的?的主要内容,如果未能解决你的问题,请参考以下文章

一张图看懂微服务架构路线

一张图看懂微服务架构路线

一张图看懂阿里云网络产品[十一]云托付

一张图看懂数据库实例

F3简介一张图看懂FPGA-F3实例

趣图:一张图看懂敏捷开发