利用Zookeeper实现HDFS HA方案
引言
-
在Hadoop 1.x版本,HDFS集群的NameNode一直存在单点故障问题:
- 集群只存在一个NameNode节点,它维护了HDFS所有的元数据信息
- 当该节点所在服务器宕机或者服务不可用,整个HDFS集群处于不可用状态
-
Hadoop 2.x版本提出了高可用 (High Availability, HA) 解决方案
用到的ZK特性
- 所有ZK服务器数据是相同的
- 临时节点
- 临时节点只在当前会话期存在,当前会话结束后,临时节点自动删除
- 持久节点
- 持久节点类似Linux的文件夹,会永久存在
- 监听器的三个逻辑
- 注册:客户端向ZooKeeper集群注册监听器
- 监听事件:监听器负责监听特定的事件
- 回调函数:当监听器监听到事件的发生后,调用注册监听器时定义的回调函数
HDFS HA方案,主要分两部分:
①元数据同步
②主备切换