簡體   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