hadoop之HA架构----->NameNode的高可靠性缘由

注意:只有hadoop2.x以后才有HA机制

一 、概念性


1.ZKFC(DFSZKFailoverController)------>故障转移,当Active NameNode挂掉了,会自动切换Standby NameNode为active状态

2.NameService------>含有两个NameNode,NameService可以进行水平扩展,来提高内存的存储量

3.JournalNode------>用来存放Active NameNode和Standby NameNode共享的edits文件

4.brain split现象 ------> active namenode进入假死状态,但是zkfc误判active namenode死亡,于是切换Standby NameNode为active状态,导致出现两个active namenode

二、 高可靠性原理

hadoop之HA架构----->NameNode的高可靠性缘由_第1张图片

    1.在hadoop2.0中通常由两个NameNode组成,一个处于active状态,另一个处于standby状态
(Active NameNode对外提供服务,而Standby NameNode则不对外提供服务,仅同步active namenode的状态,以便能够在它失败时快速进行切换)
   2.ZK集群中,ZKFC用来监控NameNode的状态,并把状态发送给ZK,当Active NameNode挂掉了,ZKFC会立刻通知ZK处理,
同时,另一台ZK会给ZKFC发送一个命令给Standby 状态的NameNode,命令Standby NameNode切换为active状态

    3.DataNode既向Active NameNode发送指令,又向Standby NameNode发送指令,一旦一个NameNode出现问题,会切换另一个NameNode继续执行任务

注意:与hadoop1.x不同,
 hadoop1.x通过fsImage与edits的合并,进行内存数据和磁盘数据的同步
 
 hadoop2.x中Active NameNode会实时的将edits文件写入到一个edits介质JournalNode中,而Standby NameNode会实时的把数据同步到Standby NameNode所在的机器
 故,Active NameNode与Standby NameNode的edits文件是实时同步的

你可能感兴趣的:(hadoop篇)