一、概述
Hadoop的HA应该分为HDFS 的 HA 和 YARN 的 HA,主要是解决NameNode和ResourceManager的单点故障问题,所以HA就是通过配置 Active/Standby 两个 实例来解决单点故障
二、HDFS-HA 工作机制
2.1HDFS-HA 工作要点
(1)元数据管理方式改变
两个NameNode内存中各自保存一份元数据,Edits 日志只有 Active 状态的 NameNode 节点可以做写操作, 两个 NameNode 都可以读取 Edits,共享的 Edits 放在一个共享存储中JounalNode
(2) 增加一个状态管理功能模块
Zkfailover(hadoop的模块),常驻在每一个 namenode 所在的节点,每一个 zkfailover 负责监控自己所在 NameNode 节点,和ZooKeeper通信利用 zk 进行状态标识,当需要进行状态切换时,由 zkfailover 来负责切换,切换时需要防止 brain split 现象的发生。
(3) 必须保证两个 NameNode 之间能够 ssh 无密码登录(为了防止脑裂