当名称节点在YARN中失败时,作业状态是什么?

时间:2015-12-30 06:05:27

标签: hadoop hdfs yarn hadoop2

当群集中正在运行作业时,如果突然 NameNode 失败,那么作业的状态(失败或被杀)是什么?

如果失败意味着,谁正在更新工作状态

这如何在内部发挥作用?

2 个答案:

答案 0 :(得分:2)

备用Namenode将成为具有故障转移过程的活动Namenode。看看How does Hadoop Namenode failover process works?

YARN 架构围绕Job History展开。乔布斯将继续对namenode失败产生任何影响。如果上述三个过程中的任何一个失败,将根据相应的过程恢复完成作业恢复。

资源管理器恢复:

启用ResourceManger重新启动后,正在升级的RM(当前待机)处于活动状态会加载RM内部状态,并根据RM重启功能尽可能地继续运行上一个活动停止的位置。为先前提交给RM的每个托管应用程序生成一个新的尝试。

应用程序主恢复:

对于在YARN(又名MR2)上运行的MapReduce,MR ApplicationMaster扮演每个作业的跟踪角色。 MRAM故障恢复由属性mapreduce.am.max-attempts控制。可以根据作业设置此属性。如果它的值大于1,那么当ApplicationMaster死亡时,新的应用程序将进行新的应用程序尝试,直到最大尝试次数。启动新的应用程序尝试时,将中止并重新运行正在运行的任务,但不会重新运行已完成的任务。

节点管理器恢复:

在恢复期间,NM从状态存储加载应用程序的状态。每个应用程序的状态指示应用程序是否已完成。请注意,对于已完成的应用程序,将不再启动容器,但它可能仍在进行日志聚合。在恢复每个应用程序时,将创建一个新的Application对象,并触发初始化事件以重新初始化NM中的应用程序的簿记。

在所有这些阶段中,{{1}}起着关键作用。成功完成Map&将从作业历史记录服务器恢复减少任务状态。此状态有助于停止重新启动成功完成的Map / Reduce任务。

查看Resource Manager HA文章,Node Manager restart文章和YARN HA文章

答案 1 :(得分:0)

由于我没有测试过,我不完全确定以下内容。但启动VM并为自己测试它并不会有什么坏处。

namenode不处理作业的状态,这就是Yarn正在做的事情。 如果namenode不是HA而且它死了,你将失去与HDFS的连接(甚至可能丢失数据)。纱线会默认尝试重新接触hdfs几次,最终超时,失败作业。