繁体   English   中英

如何在Yarn ApplicationMaster代码中获取所有正在运行的容器?

[英]How to get all running containers in Yarn ApplicationMaster code?

我正在使用Yarn框架开发长期运行的服务。 ApplicationMaster代码只是分配并启动一些容器,并使其永久运行。 AM还定期报告每个正在运行的容器的状态。 AM通过将它们明确存储到内存映射中来了解它分配并启动的每个容器。

现在的问题是:在AM重新启动的情况下,即进行了新的尝试。 新的AM如何知道旧AM分配的所有正在运行的容器? 新的AM需要此功能,因为它需要报告它们的状态。

AMRMClient显然没有用于AM的此接口来获取其应用程序的容器列表。

AM(每个作业一个)是在RM(每个群集一个)为该作业保留内存和Vcore之后初始化的容器。 您是在说AM故障,需要重新启动吗? 如果是这样,则新的AM将使用新的容器开始新的尝试(它将失去与旧容器的连接),并且由于NM(NodeManager)对RM的心跳(这会定期发生),在超时后,旧的AM将被释放。

关于代码,我不确定如何实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM