HANameNode是如何工作的?
通过ZKFC
ZKFC的职责
- ZKFC定期向它所监控的NameNode发送健康探测命令。如果NameNode宕机没有发送心跳,ZKFC就认为它不健康,就会在ZK中给其标记上一个不健康的标记。
- ZKFC同时也会给健康的NameNode创建一个会话,假设这个NameNode同时还是Active状态,就会给其在ZK中创建一个znode锁,如果这个NameNode挂掉了,那么就会删除其Znode锁。备用的NameNode就会转换成Active状态,同时给其创建一个Znode锁。
- 若,挂掉的NameNode重新启动,就会重新注册zookeeper,并查看Znode锁,若Znode锁已经存在。当前的NameNode就会转换为standby状态,目前只支持配置2个NameNode。
这个世界总是在亏欠一些好人!