我想问几个问题来了解YARN:的工作
- 任何人都可以解释或参考任何文档,这些文档可以很容易地了解YARN中的故障模式(即任务故障、应用程序主机故障、节点管理器故障、资源管理器故障)
- YARN的集装箱尺寸是多少?它和Map reduce 1中的插槽相同吗
- YARN有什么实际/工作的例子吗?谢谢
请参阅Hadoop最终指南文本书。。。除此之外,apache网站上还有很多信息。
容器大小不是固定的,而是由资源管理器根据需求动态分配的。
从开发人员的角度来看,同样的旧地图减少将在YARN上工作。
ResourceManager故障
在YARN框架的最初版本中,ResourceManager故障意味着整个集群故障,因为它是一个单点故障。ResourceManager存储集群,例如提交的应用程序的元数据、集群信息资源容器、集群的常规配置信息等等。因此,如果ResourceManager由于某些硬件故障而停机,那么无法避免手动调试集群并重新启动ResourceManager。在ResourceManager关闭期间,集群不可用,并且一旦重新启动,所有作业都需要重新启动,因此已完成一半的作业将丢失任何数据,需要重新启动。简而言之,重新启动ResourceManager用于重新启动所有正在运行的ApplicationMasters。YARN的最新版本通过两种方式解决了这个问题。一种方法是创建一个主动-被动的ResourceManager体系结构,这样当一个体系结构宕机时,另一个就变成主动的并负责集群。另一种方法是使用Zookeeper ResourceManager quorum,从而将ResourceManager状态存储在Zookeepper的外部ResourceManager处于活动状态,一个或多个ResourceManager处于被动模式,等待发生使其处于活动状态的事件。
ApplicationMaster失败当ApplicationMaster失败时,ResourceManager只需启动另一个容器,其中运行一个新的ApplicationMaster以进行另一次应用程序尝试。这是新ApplicationMaster的责任以恢复旧ApplicationMaster的状态,并且只有当ApplicationMaster将其状态保留在外部位置以供将来参考时,这才有可能。ApplicatoinMaster将把它们的状态存储到持久磁盘中,从而恢复故障之前的所有状态。
NodeManager故障如果节点管理器出现故障,ResourceManager会使用超时检测到此故障(即停止接收来自NodeManager的检测信号)。ResourceManager然后从其可用NodeManager池中删除NodeManager。它还杀死了在该节点上运行的所有容器&向所有正在运行的AM报告故障。然后,AM负责对节点故障做出反应,在故障期间重新执行在该节点上运行的任何容器所做的工作。
容器故障
容器故障将由节点管理器报告给资源管理器,资源管理器通知应用程序主机。现在应用程序将重新启动容器。