首先,我看到我的正在运行的作业由1个应用程序主节点处理,该节点不是主节点(不同的IP地址)。因此我认为我的工作仅由1个节点处理。但是当我检查映射器作业的处理位置时,它们实际上是由其他从属节点处理的。
我有点困惑,因为我认为主节点也将是应用程序主机,谁将处理作业管理。但在这种情况下它不是。
有人可以帮助我理解为什么我的工作的当前管理由一个从属节点(称为应用程序主节点)处理,而不是由我的主节点处理?
另一个问题是hadoop中的主节点被视为单点故障,但是当我们有一个辅助节点时,它会没问题。对于应用程序主节点情况,它是否也应被视为单点故障?因为从属节点是关闭的,所以我不会理解它。
非常感谢。
答案 0 :(得分:2)
Hadoop2使用两级架构:
对于MapReduce作业,如果作业的MapReduceAM失败,YARN将为作业失败三次启动一个新的MapReduceAM。
可以在Hadoop wiki上看到更多细节
答案 1 :(得分:1)
Application Master不是与主节点或从节点具有相同意义的节点 - 它不代表群集中的计算机。 Application Master是用于管理特定应用程序的YARN流程。这些通常在从节点上运行。但是,它不是一个单一的故障点,因为它不是一台机器而是一个过程。如果Application Master失败,YARN将启动一个新的Application Master。