来自Hadoop权威指南
整个过程如图7-1所示。在最高层次上 有五个独立的实体:
•客户端,该客户端提交MapReduce作业。
•YARN资源管理器,它协调以下项的分配 计算群集上的资源。
•YARN节点管理器,用于启动和监视计算 集群中机器上的容器。
•MapReduce应用程序母版,可协调任务 运行Map‐Reduce作业。应用程序母版和MapReduce 任务在由资源管理器和 由节点管理器管理。
什么是MapReduce应用程序母版?
在用Java编写的MapReduce程序中,我们需要三件事:一个map函数,一个reduce函数以及一些带有main()
函数的代码来运行作业。 MapReduce应用程序是否掌握main()
函数的代码以运行地图归约工作?
答案 0 :(得分:1)
main()
函数通常会执行以下操作:
然后,它创建Job
接口的实例,运行它并调用waitForCompletion
,该接口将阻塞直到作业完成。该调用在后台发送Yarn应用程序请求,从而在群集中的某个位置生成AppMaster。
AppMaster负责创建Map / Reduce流程,跟踪其状态并报告进度。 Hadoop集群上运行的每个作业都有一个AppMaster实例。