Hadoop高可用集群搭建一、Hadoop高可用原理1
原理Hadoop高可用(HadoopHighAvailability),是保证业务连续性的有效解决方案,通常通过设置备用节点的方式实现
一般将执行业务的名称节点称为活动节点(Active),另一个名称节点作为备用的节点(Standby),当活动节点出现问题导致业务不能正常的执行时,备用节点此时就会监测到,并立即切换为活动状态,从而保证业务的正常运行而不会被中断
NameNode高可用NameNode是HDFS的核心,如果NameNode失效了,那么整个HDFS也就不能提供服务了,所以Hadoop提供了高可用的方案,即HadoopHA;HDFS提供了两种高可用的方案:一种是基于QJM(QuorumJournalManager),另一种是基于NFS的
这里使用QJM来解决NameNode的单点故障问题,解决的方案就是在HDFS集群中建立多个NameNode节点
为了保证NameNode元数据的一致性和编辑日志的安全性,采用Zookeeper来存储编辑日志文件
多个NameNode节点中只有一个是处于Active状态的,其余都是Standby状态,同一时间只能有一个处于Active状态的NameNode节点
多个NameNode上存储的元数据是实时同步的,当Active的NameNode出现故障时,通过Zookeeper实时切换到Standby的NameNode上,并将状态改为Active
HDFSHA架构中有两台NameNode节点,一台是处于活动状态(Active)为客户端提供服务,另外一台处于热备份状态(Standby)
DataNode会将心跳信息和Block汇报信息同时发给两台NameNode,DataNode只接受ActiveNameNode发来的文件读写操作指令
为了使备用节点保持其状态与Active节点同