在Hadoop1.x中MapReduce是Master/Slave结构,在集群中的表现形式为:1个JobTracker带多个TaskTracker;
JobTracker:负责资源管理和作业调度;
TaskTracker:定期向JobTracker汇报本节点的健康状况、资源使用情况以及任务的执行情况;接收来自JobTracker的命令(启动/杀死任务等)并执行接收到的命令;
MR V1存在的问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
单点故障:JobTracker只有一个,JobTracker挂了整个集群就没办法使用了;
JobTracker负责接收来自各个TaskTracker节点的RPC请求,压力会很大,限制了集群的扩展;随着节点规模增大之后,JobTracker就成为一个瓶颈;
仅支持MapReduce计算框架;无法支持多种计算平台
--- MapReduce计算框架是一个基于Map和Reduce两阶段、适合批处理的、基于磁盘的计算框架;
--- MapReduce计算框架优点:容错性好;
--- MapReduce计算框架缺点:性能差;
MR V2与MR V1的区别?!!!!!!!!!!!!!!!!!!!!!!!!!!!
MR V2是MR V1的升级版本,与MR V1不同的时运行的环境不一样。MR V2是运行于YARN之上的MapReduce计算框架。
MR V1:
- JobTracker:资源和任务的管理和调度
- TaskTracker: 单个节点的资源管理和任务执行
MR V2:
- YARN:资源管理和调度
- ApplicationMaster: 具体应用程序相关的任务拆分、任务调度和容错等。
总结:!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1. 源于MR 的缺陷:扩展性受限、单点故障、难以支持MR之外的计算框架;
2. 多计算框架各自为战,数据共享困难,资源利用率低;
--- MR: 离线计算框架
--- Storm:实时计算框架
--- Spark:内存计算框架
催生了YARN的产生。