我刚刚给了this Hadoop tuorial一个说明Hadoop有一个致命弱点' JobTracker
中的肌腱(单点故障):
JobTracker是Hadoop MapReduce服务的单点故障,这意味着如果JobTracker发生故障,所有正在运行的作业都将暂停。
还有this article表明NameNode
是SPOF:
Hadoop集群中的单点故障是NameNode。
单点故障很糟糕,mkay? 什么策略/技巧/工具/等等。可以做到规避这些SPOF并使Hadoop冗余,容忍和弹性(流行语警报!)?
答案 0 :(得分:1)
Hadoop内置了一些High availability
机制。
' Secondary NameNode',' Backup JobTracker'将作为各自对手的热门备份。
过去的大多数' SPOF'已经被最近的hadoop版本淘汰了。
以下文档对此进行了深入解释。
希望它有所帮助。
答案 1 :(得分:1)
HDFS和Mapreduce是Hadoop的核心组件。在早期的Apache Hadoop版本中,Namenode和Jobtracker是SPOF(只能配置一个实例)。从Hadoop 2.X修复此问题。
Jobtracker HA。
通过在Jobtracker(JT)
模式下在两个节点上配置2 Active - Standby
实例,可以实现Jobtracker HA。如果一个JT发生故障,第二个Jobtracker将可用于提供请求。一次只有一个jobtracker(Active)可用于服务请求,第二个JT(待机)将以只读模式运行。 Jobtracker HA需要zookeeper实例,故障转移(切换)可以配置为Manaul或Automcatic。自动故障转移需要另一个名为Failover Controller (FC)
的进程。在当前版本中,如果活动JT失败,则将暂停所有正在运行的作业,但是新作业将自动提交给新JT。当前版本中不提供此功能。
MR2
是使用YARN的第二代mapreduce,Resource Manager(RM)
是YARN中的主服务,RM也可以在活动 - 备用模式下配置。 RM故障不会影响正在运行的作业/应用程序。
Namenode HA
Namenode HA很重要。 Namenode HA也可以配置为活动 - 备用模式(最多2个名称节点实例)。 Quorum based Journaling
是广泛接受的方法,它在内部使用zookeeper。一次只能激活一个名称节点。
Secondary Namenode(SNN)
不是Standby Namenode(SN)
,反之亦然,SNN在非HA配置中具有不同的功能,Namenode HA设置不需要SNN,因为SN namenode执行检查点(SNN的功能)
Processes Namenode HA