孤儿Yarn Child流程会发生什么?

时间:2015-06-10 14:17:13

标签: hadoop yarn hadoop2

Hadoop YARN在子VM中启动YarnChild实例以执行实际任务。这些任务通过脐带接口与他们的ApplicationMaster(AM)进行通信。

我的问题是如果AM死了并且资源管理器(RM)无法启动(例如,由于AM中的某些代码缺陷)会发生什么?在这种情况下,儿童任务将(a)注意由于心跳而没有AM,然后,(b)去RM获得新的AM位置,在这种情况下他们不会得到。那么,这些孤立的任务会发生什么?我有一个场景,我想终止它们。这是默认行为,他们的NodeManager(NM)是否终止它们?

2 个答案:

答案 0 :(得分:0)

来自Hadoop -Definitive Guide,第6章,故障,纱线故障

  

崩溃后,会启动一个新的资源管理器实例(通过   管理员),它从保存状态恢复。国家包括   系统中的节点管理器,以及运行的应用程序。这里的任务   不属于资源管理者的一部分,因为它们是由管理的   应用

此外,据说资源管理器旨在能够从崩溃中恢复。

答案 1 :(得分:0)

与该特定应用程序主机相关的所有子任务都将处于暂停状态。 Hadoop管理员应该重新启动应用程序主服务器或将其终止。 NodeManager不会终止失败的Application Master。

如果要杀死应用程序,则可以使用yarn application -kill application_id命令终止应用程序。它会杀死应用程序下的所有正在运行和排队的作业。

如果你想杀死YARN中的任务,你可以使用hadoop job -kill-task <task-id>来杀死YARN中的特定任务