孤立的子进程会发生什么?

inn6fuwd  于 2021-05-30  发布在  Hadoop
关注(0)|答案(2)|浏览(417)

hadoopyarn在子vm中启动yarnchild示例来执行实际任务。这些任务通过脐带接口与其applicationmaster(am)通信。
我的问题是,如果am死了,而资源管理器(rm)无法启动它(比如,由于am中的一些代码缺陷),会发生什么?在这种情况下,子任务将(a)注意到由于心跳而没有am,然后(b)转到rm以获取新的am位置,在这种情况下,它们将不会获取新的am位置。那么,这些孤立的任务会发生什么呢?我有一个场景,我想终止他们。这是默认行为吗?它们的节点管理器(nm)是否终止它们?

u3r8eeie

u3r8eeie1#

来自hadoop-权威指南,第6章,失败,Yarn中的失败
崩溃之后,一个新的资源管理器示例(由管理员)启动,并从保存的状态恢复。状态由系统中的节点管理器以及正在运行的应用程序组成。这里的任务不是资源管理器状态的一部分,因为它们是由应用程序管理的。
另外,据说资源管理器的设计是为了能够从崩溃中恢复。

vddsk6oq

vddsk6oq2#

与该特定应用程序主机相关的所有子任务都将处于停止状态。hadoop管理员应该重新启动应用程序主程序,或者终止它。nodemanager不会终止失败的应用程序主机。
如果您想终止一个应用程序,那么您可以使用 yarn application -kill application_id 命令终止应用程序。它将杀死应用程序下所有正在运行和排队的作业。
如果你想在Yarn中杀死一个任务,那么你可以使用 hadoop job -kill-task <task-id> 干掉一个特定的任务

相关问题