2016-03-03 58 views
0

假设在这台机器上有10个容器运行(5是mapreduce任务,5是纱线执行器上的火花)。当我杀死一根纱线的节点管理器时发生了什么

如果我杀了节点管理器,这10个容器过程会发生什么?

在我重新启动节点管理器之前,我应该先做些什么?

+0

我想你是指当** ResourceManager **死亡时会发生什么。 * NodeManager *管理每个从节点上的所有容器。 – Nicomak

+0

我无法回答你的问题,除非配置高可用性(https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/ResourceManagerHA.html),在这种情况下没有任何反应我想你应该试着看看你自己!但是,通过询问,我可以使您的问题更加有趣,当ApplicationMaster节点死亡时会发生什么? – Nicomak

回答

0

杀死nodemanager只会影响这个特定节点的容器。所有正在运行的容器在重新启动/终止时都会丢失。一旦节点启动或节点管理器进程启动(如果应用程序/作业仍在运行),它们将重新启动。 注意:作业ApplicationMaster不应该在此从站上运行。

当ApplicationMaster节点死亡时会发生什么? 在这种情况下,纱线在其他节点上启动一个新的ApplicationMaster。在这种情况下,所有容器都重新启动。

0

根据Hadoop的2.7.x DIST回答:检查这篇文章:http://hortonworks.com/blog/resilience-of-yarn-applications-across-nodemanager-restarts/

如果你没有yarn.nodemanager.recovery.enabled设置为true,那么你的容器会被杀死(火花或MapReduce的或其他任何东西),但是你工作很可能会继续。

您需要在您的env中使用hadoop conf | grep yarn.nodemanager.recovery.dir查看此属性。如果它是错误的,这对我来说默认情况下,那么你可以做的任何事情,以防止在重新启动imo时获得那些容器。但是,如果希望恢复容器,则可以尝试修改该标志并为未来的案例设置其他必需的属性。

看看这个:http://www.cloudera.com/documentation/enterprise/5-4-x/topics/admin_ha_yarn_work_preserving_recovery.html

相关问题