MapReduce工作流程
从整体上,MapReduce框架可以分为五个不同实体:
- 客户端:提交 MapReduce job
- Yarn 资源管理器(ResouceManager):协调集群计算资源的分配。包含主要的组件:定时调用器(Scheduler)以及应用管理器(ApplicationManager)
定时调度器(Scheduler):从本质上来说,定时调度器就是一种策略。当 Client 提交一个任务的时候,它会根据所需要的资源以及当前集群的资源状况进行分配。
应用管理器(ApplicationManager):应用管理器就是负责管理 Client 用户提交的应用。监控应用的工作正是由应用管理器(ApplicationManager)完成的 - Yarn 节点管理器(NodeManager):启动和监视集群中每个节点的计算容器,并监控它们的资源使用情况(cpu,内存,磁盘及网络等),以及向 ResourceManager/Scheduler 提供这些资源使用报告
- Mapreduce 应用管理器(Application Master):负责调度Mapreduce任务。应用管理器和 MapReduce 任务是运行在容器中的,这个容器是由资源管理器分配的,并且接受阶段管理器的管理
- 分布式文件系统(通常为HDFS)