HDFS HA(高可用)

HDFS HA(高可用)

 

1、 在HDFS 高可用主要解决的是nn的单点故障问题,在该架构中,snn 已不存在

2、为了保持 nn 对外提供的服务一致,就必须让2个 nn 的元数据一致,我们可以通过 日志集群 进行数据同步。

active nn负责往 QJM 写日志,standby nn负责读取 QJM 的日志。JournalNode 一般是奇数台,当存储的数据达到一半以上,则认为写入日志成功。

3、dn只允许有一个能够管理它的 nn,其内部保存了该管理 nn 的***和 active 状态,当 nn 切换状态时,会通知 dn 最新的***和 active 状态。

4、FailoverController也叫ZKFC,包含了三个组件:

  • HealthMonitor(监控NN健康状况)
  • ActiveStandbyElector(监控NN在ZK中的状态记录)
  • ZKFailoverController(改变NN状态[activity/standby],防止fancing脑裂)

5、在生产环境中,伪分布式转全分布式,不需要format(一旦format HDFS上的数据就会丢失)。