当前位置:   article > 正文

YARN的高可用_yarn高可用

yarn高可用

HA表示高可用,YARN的HA主要指ResourceManager的HA,因为ResourceManager作为主节点存在单点故障,所以要通过HA的方式解决ResourceManager单点故障问题。

如何实现HA?需要考虑哪些问题?关键技术难点?

最主要有两点,要求ResourceManager是高可用的,要求如果一个主节点失效了,另一个备用节点能够立刻接替工作对外提供服务,这就涉及故障自动转移的实现。实际上在做故障转移时,还需要考虑当切换到另一个节点时,不应该导致正在连接的客户端失败,主要包括客户端、NodeManager与ResourceManager的连接。

这就是第一个问题:如何实现主备节点的故障转移

还要考虑新的主节点接替旧的主节点对外提供服务时,如何保证新旧主节点的状态信息(元数据)一致?

这就涉及第二个问题:如何实现元数据的共享存储?

实现YARN的HA主要解决这两个问题,YARN的HA架构如图所示:

(1)实现主备节点间故障转移的对比

YARN的HA和HDFS的HA的不同之处在于,YARN的HA是让主备切换控制器作为资源管理器(ResourceManager)中的一部分,而HDFS的HA是将主备切换控制器作为一个单独的任务运行。这样YARN的HA中主备切换控制器就可以更直接地切换ResourceManager的状态。

(2)实现主备节点间数据共享的对比

ResourceManager负责整个系统的资源管理和调度,内部维护了各个应用程序的ApplicationMaster信息,NodeManager信息、Container使用信息等。考虑到这些信息绝大多数可以动态重构,因此解决YARN集群的单点故障要比解决HDFS集群的单点故障容易得多。

与HDFS类似,YARN的单点故障仍采用主备切换的方式去完成。不同的是,在正常情况下,YARN的备节点不会同步主节点的信息,而是主备切换之后,才从共享存储系统中读取所需要的元数据信息。

之所以这样实现,是因为YARN中的ResourceManager内部保存的信息非常少,而且这些信息是动态变化的,大部分可以重构,原有信息很快会变旧,所以没有同步的必要。因此,YARN的共享存储并没有通过其他机制来实现,而是借助Zookeeper来完成主备节点的信息共享。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/777873
推荐阅读
相关标签
  

闽ICP备14008679号