应用程序在YARN中的整体运行流程和状态机 (NodeManager端)

本文深入分析了YARN上应用程序在NodeManager的状态机变迁,涵盖了Container资源本地化、启动、结束清理等过程。从启动Container到ContainerExit,详细描述了每个阶段的事件触发和状态转换,包括ApplicationImpl、ContainerImpl和ResourceLocalizationService的行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在上一篇应用程序在YARN中的整体运行流程和状态机 (ResourceManager端)我们详细分析了,应用程序在RM端的状态机变迁,掠过了在NodeManager部分,这篇文章我们详细分析,作业运行流程中在NodeManger上面的状态机变迁包括:Container的资源本地化过程,Container启动过程,Container运行结束后的清理过程。

  1. 发起NodeManager上面的容器运行首先,调用ContainerManagerImpl的startContainers方法,向ApplicationImpl对象发出ApplicationEventType.INIT_APPLICATION事件,从而ApplicationImpl进入INITING状态,然后向ApplicationImpl对象发出ApplicationEventType.INIT_CONTAINER事件,而ApplicationImpl的状态维持不变,只是把Container加入到对应的集合中。

  2. ApplicationEventType.INIT_APPLICATION事件的伴随函数,向LogAggregationService发送APPLICATION_STARTED事件。

  3. 在日志聚合处理成功的情况下向ApplicationImpl对象发出APPLICATION_LOG_HANDLING_INITED事件。ApplicationImpl的状态机保持不变,还是INITING。

  4. APPLICATION_LOG_HANDLING_INITED事件的伴随函数中,向 ResourceLocalizationService对象发送LocalizationEventType.INIT_APPLICATION_RESOURCES事件。

  5. 然后ResourceLocalizationService

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值