《2021年大数据hadoop(六):全网最详细的hadoop 集群搭建》

大家都知道,在Hadoop里,NameNode这玩意儿就好比个大脑,管着元数据。要是它一挂,整个HDFS就跟失忆了似的,读写全都瘫痪。为了不让业务中断,官方的主意就是搞个“双保险”:弄两台NameNode,一台干活(叫Active),另一台盯着(叫Standby),这就是高可用的核心思路。这一套架构里,主要角色有Active和Standby NameNode,这俩都叫DataNode汇报块位置。还有个ZKFailoverController负责健康监测和Zookeeper选举,就像个裁判员。Zookeeper集群用来决定谁该当主、谁该当备。为了安全,EditLog会写到多台JournalNode上,比如你配3台(2N+1模式),哪怕宕了1台,也能保证不丢数据。FSImage还是留在本地磁盘,开机的时候对账就行。 在切换流程这块儿,ZKFC启动时会搞两个东西:HealthMonitor和ActiveStandbyElector。HealthMonitor会定时给NameNode发HAServiceProtocol RPC心跳检查。要是发现Active有问题,就把这事告诉ZKFC,触发选举。ZKFC就去和Zookeeper聊聊天,选出新老大。等选出来了,ActiveStandbyElector又会把这消息回调给ZKFC。最后ZKFC再发个命令给NameNode,让它完成状态切换。 搭建集群这事儿其实很简单,硬件和软件版本对齐了就行。只要在配置文件里把Active和Standby的地址填上,再写好JournalNode列表和Zookeeper quorum,重启NameNode服务就行。你可以去看看《2021年大数据Hadoop(六):全网最详细的Hadoop集群搭建》,里面讲得特详细。