MapReduce的基本原理

MapReduce是一个用于大规模数据处理的软件框架,通过并行的Map和Reduce阶段在集群中处理大量数据。Map阶段将输入数据分割处理,Shuffle阶段进行排序,而Reduce阶段则汇总Map的输出。JobTracker管理TaskTracker资源,跟踪作业进度,提供容灾服务;TaskTracker执行任务并向JobTracker报告状态。然而,MapReduce存在可扩展性、可靠性和可用性问题,以及对其他编程模型支持不足的缺陷。

MapReduce是一个软件框架,可方便的编写应用程序,以并行的方式在数千商用硬件组成的集群节点中处理数TB的数据,并且提供了可靠性和容错的能力。


MapReduce处理模型包括两个独立的步骤:

-并行Map阶段,输入数据被分割成离散块以便可以单独处理。

-shuffle阶段,每个Reduce的输入都是按照键排序的,系统执行排序的过程;

-Reduce阶段,汇总Map阶段的输出生成预期的结果。


JobTracker:负责TaskTracker的资源管理,跟踪资源使用率,管理作业的生命周期,如调度作业的各个任务,跟踪进度,以及为任务提供容灾服务。

TaskTracker:根据JobTracker的命令启动/清除任务,并且周期性地向JobTracker提供任务的状态信息。


MapReduce的缺陷:

1.可扩展性

-JobTracker内存中保存用户作业的信息

-JobTracker使用的是粗粒度的锁(节点心跳时间过长)

2.可靠性和可用性

-JobTracker失效会丢失集群中所有的运行作业,用户需要手动重新提交和恢复工作流

3.对不同编程模型的支持

-以MapReduce为中心的设计,不适合大型计算,需要新一个阶段的计算平台。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值