ApplicationManager 在 YARN 中的作用
Role of the ApplicationManager in YARN
我正在看书,上面的图片描述为YARN中的ResourceManager
。
他们说:
Admin and Client Service
负责"for client interactions such such as a job request submission, start, restart, and so on"
- "
ApplicationMaster Launcher
在客户端提交作业时为 ApplicationMaster 启动容器。"
然后他们用下面的说法自相矛盾:
The ApplicationManager is responsible for accepting the client’s job submission requests, negotiating the containers to execute the applications specific to the ApplicationMaster, and providing the services to restart the ApplicationMaster on failure.
问题:
我认为 Admin 和 Client Service 的角色是接受客户端作业提交,而不是 ApplicationManager 角色?那么本质上,ApplicationManager 是否从 Admin 和 Client 服务获取作业,并使用 ApplicationMaster Launcher 实际启动具有作业提交中指定资源的 ApplicationMaster?
是的,您的假设是正确的应用程序经理从管理员和客户服务那里获得工作。
ApplicationsManager 负责维护提交的应用程序或作业的集合。应用程序提交后,它首先验证应用程序的规范并拒绝任何请求不满足资源的应用程序 it.Once 应用程序管理器满意,然后应用程序主启动器启动应用程序主。
Application Master 负责从资源管理器协商资源,并与节点管理器一起执行和监控容器及其资源消耗。一件重要的事情是每个工作都有自己的应用大师。这不适用于应用程序管理器。
如果您想查看 Yarn 中的通信流程,可以访问此 link http://javacrunch.in/Yarn.jsp。
希望这能解决您的问题。
您可以在 YARN 官方文档页面中找到有关 ApplicationsManager 的更多详细信息。
想法是有一个全局的ResourceManager(RM)和per-applicationApplicationMaster(AM)
per-application ApplicationMaster 实际上是一个特定于框架的库,其任务是从 ResourceManager 协商资源并与 NodeManager 一起执行并监控任务。
ResourceManager是系统中所有应用程序之间资源仲裁的最终权威。
ResourceManager 有两个主要组件:Scheduler 和 ApplicationsManager。
调度器负责根据熟悉的容量、队列等约束将资源分配给各种运行应用程序。调度器不执行监视或跟踪申请状态。
ApplicationsManager 负责
- 正在接受 job-submissions
- 协商第一个容器以执行特定于应用程序的 ApplicationMaster
- 并提供ApplicationMaster容器失败重启服务。
per-applicationApplicationMaster 负责从调度程序协商合适的资源容器,跟踪它们的状态并监控进度。
关于您的查询
When the ApplicationManager retrieves the job from the Admin and Client Service, does the job contain the resources that is required to launch an ApplicationMaster? Like how does the ResourceManager know how much resources the ApplicationMaster needs?
ResoruceManager (ApplicationsManager+Scheduler) 与 ApplicationsMaster 合作,确保为客户端请求分配资源,并执行上述角色。
我正在看书,上面的图片描述为YARN中的ResourceManager
。
他们说:
Admin and Client Service
负责"for client interactions such such as a job request submission, start, restart, and so on"- "
ApplicationMaster Launcher
在客户端提交作业时为 ApplicationMaster 启动容器。"
然后他们用下面的说法自相矛盾:
The ApplicationManager is responsible for accepting the client’s job submission requests, negotiating the containers to execute the applications specific to the ApplicationMaster, and providing the services to restart the ApplicationMaster on failure.
问题:
我认为 Admin 和 Client Service 的角色是接受客户端作业提交,而不是 ApplicationManager 角色?那么本质上,ApplicationManager 是否从 Admin 和 Client 服务获取作业,并使用 ApplicationMaster Launcher 实际启动具有作业提交中指定资源的 ApplicationMaster?
是的,您的假设是正确的应用程序经理从管理员和客户服务那里获得工作。 ApplicationsManager 负责维护提交的应用程序或作业的集合。应用程序提交后,它首先验证应用程序的规范并拒绝任何请求不满足资源的应用程序 it.Once 应用程序管理器满意,然后应用程序主启动器启动应用程序主。 Application Master 负责从资源管理器协商资源,并与节点管理器一起执行和监控容器及其资源消耗。一件重要的事情是每个工作都有自己的应用大师。这不适用于应用程序管理器。
如果您想查看 Yarn 中的通信流程,可以访问此 link http://javacrunch.in/Yarn.jsp。
希望这能解决您的问题。
您可以在 YARN 官方文档页面中找到有关 ApplicationsManager 的更多详细信息。
想法是有一个全局的ResourceManager(RM)和per-applicationApplicationMaster(AM)
per-application ApplicationMaster 实际上是一个特定于框架的库,其任务是从 ResourceManager 协商资源并与 NodeManager 一起执行并监控任务。
ResourceManager是系统中所有应用程序之间资源仲裁的最终权威。
ResourceManager 有两个主要组件:Scheduler 和 ApplicationsManager。
调度器负责根据熟悉的容量、队列等约束将资源分配给各种运行应用程序。调度器不执行监视或跟踪申请状态。
ApplicationsManager 负责
- 正在接受 job-submissions
- 协商第一个容器以执行特定于应用程序的 ApplicationMaster
- 并提供ApplicationMaster容器失败重启服务。
per-applicationApplicationMaster 负责从调度程序协商合适的资源容器,跟踪它们的状态并监控进度。
关于您的查询
When the ApplicationManager retrieves the job from the Admin and Client Service, does the job contain the resources that is required to launch an ApplicationMaster? Like how does the ResourceManager know how much resources the ApplicationMaster needs?
ResoruceManager (ApplicationsManager+Scheduler) 与 ApplicationsMaster 合作,确保为客户端请求分配资源,并执行上述角色。