HDFS HA(高可用)解决单点故障问题
主备NN解决:涉及到数据同步的问题
-
HDFS HA包含namenode Active和namenode Standby。namenode Active 包含两部分信息:datanode的edis和客户端信息。然而客户端只连接namenode Active汇报自己的结构树信息,
还有一个namenode Standby如果同步信息数据? -
尝试:其实只要scoket通信,客户端创建结构时直接由NNA告诉NNS
具体实现过程中,若NNA和NNS由于网络波动,导致客户端一直失败。这就是由于一致性的目标而破坏了可用性 “强一致性破坏可用性” -
真正解决方案:NFS技术,网络文件系统
利用这种技术可以将两个NameNode的目录指向外部的一个服务器(JN)。这样就完全同步了。也不用担心两个NameNode之间通信耽误时间的问题,哪怕Standby网络波动,也可以“最终一致” -
扩充:这又是一个新的单点问题,要需要新的技术解决。除了hadoop,还要有别的技术…
ZKFC ZooKeeperFailoverController 故障转移器
- 两个NN都有自己的ZKFC,与NN近源,然后ZKFC连接着zk。ZKFC的目的是为了检测NN是否还在