hadoop—应用程序管理器在应用程序中的角色

ujv3wf0j  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(346)


我正在读一本书,上面的图片被描述为 ResourceManager 在Yarn中。
他们说: Admin and Client Service 负责“客户端交互,如作业请求提交、启动、重新启动等”
" ApplicationMaster Launcher 从客户端提交作业时启动applicationmaster的容器。“
然后他们用下面的陈述反驳了他们上面所说的:
applicationmanager负责接受客户端的作业提交请求,协商容器以执行特定于applicationmaster的应用程序,并提供服务以在失败时重新启动applicationmaster。
问题:
我认为管理员和客户机服务的角色是接受客户机作业提交,而不是applicationmanager角色?那么,applicationmanager从管理和客户机服务中获取作业,并使用applicationmaster启动器使用作业提交中指定的资源实际启动applicationmaster吗?

8yoxcaq7

8yoxcaq71#

是的,你的假设是正确的应用程序经理从管理和客户服务获得工作。ApplicationManager负责维护提交的应用程序或作业的集合。在应用程序提交之后,它首先验证应用程序的规范,并拒绝任何请求不可满足的资源的应用程序。一旦应用程序管理器满意,那么应用程序主启动器将启动应用程序主应用程序。应用程序主机负责协商来自资源管理器的资源,并与节点管理器一起执行和监视容器及其资源消耗。重要的一点是,每个作业都有自己的应用程序主机。这不适用于应用程序管理器。
您可以访问此链接http://javacrunch.in/yarn.jsp 如果你想看到Yarn内部的通信流。
希望这能解决你的疑问。

pdsfdshx

pdsfdshx2#

您可以在官方文档页面中找到有关ApplicationManager的更多详细信息。

其想法是拥有一个全局资源管理器(rm)和每个应用程序应用程序管理员(am)
每个应用程序applicationmaster实际上是一个特定于框架的库,其任务是与resourcemanager协商资源,并与nodemanager协作执行和监视任务。
resourcemanager是在系统中的所有应用程序之间仲裁资源的最终权威。
resourcemanager有两个主要组件:scheduler和ApplicationManager。
调度程序负责将资源分配给各种正在运行的应用程序,这些应用程序受容量、队列等常见约束。调度程序不监视或跟踪应用程序的状态。
ApplicationManager负责
接受作业提交
协商用于执行特定于应用程序的applicationmaster的第一个容器
并提供在出现故障时重新启动applicationmaster容器的服务。
每个应用程序的applicationmaster负责与调度器协商适当的资源容器,跟踪它们的状态并监视进度。
关于你的问题
当applicationmanager从管理和客户机服务检索作业时,作业是否包含启动applicationmaster所需的资源?比如resourcemanager如何知道applicationmaster需要多少资源?
resorucemanager(applicationsmanager+scheduler)与applicationsmaster协作,确保为客户机请求分配了资源,并执行上述角色。

相关问题