HDFS 和 Mapreduce 是 Hadoop 中的核心组件,在早期的 Apache Hadoop 版本中,Namenode 和 Jobtracker 是 SPOF(只能配置一个实例)。此问题已从 Hadoop 2.X 修复。
作业跟踪器 HA。
Jobtracker HA 可以通过在两个节点上配置 2 个Jobtracker(JT)
实例模式来实现。Active - Standby
如果一个 JT 出现故障,则可以使用第二个 Jobtracker 来处理请求。一次只有一个 jobtracker(Active) 可用于服务请求,第二个 JT(Standby) 将以只读模式运行。Jobtracker HA 需要 zookeeper 实例,Failure over(switching) 可以配置为 Manaul 或 Automcatic。自动故障转移需要另一个名为Failover Controller (FC)
. 在当前版本中,如果活动 JT 失败,所有正在运行的作业都将停止,但是新作业将自动提交给新的 JT。此功能在当前版本中不可用。
MR2
是使用YARN的第二代mapreduce,Resource Manager(RM)
是YARN中的master service,RM也可以配置为Active-Standby模式。RM 故障不会影响正在运行的作业/应用程序。
Namenode HA
Namenode HA 很重要。Namenode HA 也可以配置为 Active-Standby 模式(最多 2 个 namenode 实例)。Quorum based Journaling
是被广泛接受的方法,内部使用了zookeeper。一次只有一个名称节点处于活动状态。
Secondary Namenode(SNN)
不是Standby Namenode(SN)
,反之亦然,SNN 在非 HA 配置中具有不同的功能,Namenode HA 设置不需要 SNN,因为 SN 名称节点执行检查点(SNN 的功能)
Processes Namenode HA
- 活跃的名称节点
- 备用名称节点
- 故障转移控制器:用于 Fencing 以避免脑裂情况。
- Jounalnodes(需要最少 3 个实例):命名空间修改将记录到日志节点,备用命名节点从那里读取。一次只允许一个名称节点写入,以避免脑裂问题。