假设有10个容器在这台机器上运行(5个是mapreduce任务,5个是spark on yarn executors)。
如果我杀死了节点管理器,这10个容器进程会发生什么?
在重启节点管理器之前,我应该先做什么?
发布于 2016-03-09 15:42:50
删除nodemanager只会影响这个特定节点的容器。所有正在运行的容器都将在重新启动/终止时丢失。它们将在节点启动后重新启动,或者nodemanager进程启动(如果应用程序/作业仍在运行)。注意: Jobs不应在此从属服务器上运行。
当包含ApplicationMaster的节点死亡时会发生什么?在这种情况下,yarn会在其他节点上启动一个新的ApplicationMaster。在这种情况下,所有的容器都重新启动了。
发布于 2016-09-05 01:15:01
根据Hadoop2.7.x dist回答:请查看本文:http://hortonworks.com/blog/resilience-of-yarn-applications-across-nodemanager-restarts/
如果您没有将yarn.nodemanager.recovery.enabled设置为true,那么您的容器将被终止(spark或mapreduce或其他任何内容),但是您的作业很可能会继续运行。
您需要使用hadoop conf | grep yarn.nodemanager.recovery.dir在您的环境中检查此属性。如果为false,这是我的默认设置,那么在重新启动imo时,您无法阻止这些容器被杀死。但是,如果您希望恢复容器,则可以尝试修改标志并设置其他必需属性,以备将来使用。
https://stackoverflow.com/questions/35763139
复制相似问题