当我杀死一个纱线的节点管理器时会发生什么

时间:2016-03-03 04:21:16

标签: apache-spark yarn hadoop2

假设在这台机器上运行了10个容器(5个是mapreduce任务,5个是纱线执行器上的火花)。

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

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

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

根据hadoop 2.7.x dist回答:查看这篇文章:http://hortonworks.com/blog/resilience-of-yarn-applications-across-nodemanager-restarts/

如果您没有将x设置为true,那么您的容器将被杀死(火花或mapreduce或其他任何东西)但是您的工作很可能会继续运行。

您需要使用using std::vector; using std::pair; using std::cout; using std::endl; int reach(vector<pair<int, vector<int> > > &adj, int x, int y) { vector<pair<int, vector<int> > >::iterator it; vector<int>::iterator i; for(it=adj.begin();it!=adj.end();it++) { cout << it->first << endl; if (it->first == x) for(i=it->second.begin();i!=it->second.end();i++) { cout << (*i) << endl; if((*i)==y) return 1; } } return 0; } 在您的环境中检查此属性。如果它是默认的,这对我来说是默认的,那么你无法做任何事情来防止在重启imo时杀死那些容器。但是,如果要恢复容器,可以尝试修改标志并为将来的情况设置其他必需属性。

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