当 Yarn 中的资源管理器 (RM) 出现故障时会发生什么?

Ven*_*kat 4 hadoop high-availability hadoop-yarn hadoop2

当 Yarn 中的资源管理器 (RM) 出现故障时会发生什么?

在运行作业的过程中,如果资源管理器宕机,那么作业会发生什么?

作业是自动提交还是我们需要再次提交作业?

谢谢,

文卡特

Rav*_*abu 5


资源管理器(RM) 高可用性在Apache链接中解释如下。

在此处输入图片说明

ResourceManager HA 通过 Active/Standby 架构实现。

在任何时候,其中一个 RM 处于活动状态,如果活动 RM 发生故障,其他备用节点正在等待接管。

被提升为活动状态的 RM 从State-store加载 RM 内部状态,并从前一个活动停止的地方继续运行。

为之前提交给 RM 的每个托管应用程序产生新的尝试。应用程序可以定期检查点以避免丢失任何工作。

国商店必须从两个主用/备用客户经理可见。目前,有两个用于持久性的 RMStateStore 实现 - FileSystemRMStateStoreZKRMStateStore

ZKRMStateStore ( ZooKeeper ) 隐式地允许在任何时间点对单个 RM 进行写访问,因此是推荐在 HA 集群中使用的存储。

使用ZKRMStateStore,不需要单独的防护机制来解决潜在的脑裂情况,其中多个 RM 可能会承担 Active角色。ZooKeeper可以很好地处理这种情况。

ZooKeeper不仅用于资源管理器故障转移。现在很多应用程序都在使用 ZooKeeper。Hadoop 中其他故障转移用例的示例 - 名称节点故障转移也通过 ZooKeeper 发生。也看看名称节点故障转移过程

Hadoop 2.x 之后和 Hadoop 2.6.x 之前

当 ResourceManager 死机并重新启动时,或者在 HA 集群的情况下故障转移到另一个 ResourceManager 时,新激活的 ResourceManager 会指示正在运行的 ApplicationMaster 中止。这会耗尽一次应用程序尝试。

此外,如果 ResourceManager 关闭一段时间并且 ApplicationMaster 无法连接,它将超时并中止。这也用尽了应用程序尝试。

当新的 ResourceManager 变为活动状态时,它可以恢复未超过最大尝试次数的失败尝试的应用程序。

看看这篇文章了解更多详情

Hadoop 2.6.0 开始

资源管理器通过利用所有节点管理器发送的容器状态来恢复其运行状态。当节点管理器与重新启动的资源管理器重新同步时,它不会终止容器。

它继续管理容器,并在重新注册时将容器状态发送到资源管理器。

资源管理器通过吸收这些容器的信息来重构容器实例和相关应用程序的调度状态