Hadoop-HA(高可用)机制

首先:在每个NAMENODE上都会有一个zkfc(zookeeper failover colltroller) ,负责这两个的状态管理。哪个是(active和standby)然后写入zk集群里面。同时监控自己所在的机器是否正常。一旦active上zkfc的发现异常后,会告诉知另一台zkfc,另一台收到后就会用自己的进程,做一个状态的切换。然后将自己变为active,然后从qjournai集群中的edits快速同步下来。相应其他程序,同时跟新zookeeper里的换掉。

细节:如果是某一个时间点active出现假死状态。然后当standsy不知道也去注册了,就会同时出现2个active。这时就会有2个同时向edits写数据,客户端也不知道该去链接那个。(术语叫做"脑裂")。这个时候:standby就会直接发送ssh的指令(kill -9 ****)过去,直接杀这个active进程。防止发生这个问题。

还有一个问题:如果你发送了一个kill -9 然后网络卡了,没有杀掉这个进程。那这个时候就需要返回是否成功杀掉的结果反馈。如果没有及时得到成功的返回,就会再调用(用户提供的shell脚本程序)这个是用户自己定义的。放的位置业是自己配制的。(可以让active断电,断网等等)当调用成功后就会做切换。再将zk里的节点跟新掉。

要点:1.配置了2个name node

2.将edits剥离出来放到qjourna集群管理起来,但是qjourna又是依赖zk集群

3.状态管理使用zkfc,每个zkfc监控自己的服务,出问题就通知对方,

4.出现问题的脑裂解决方法,脚本运用。

相关推荐
chimchim662 小时前
hive开窗函数边界值ROWS BETWEEN 和 RANGE BETWEEN区别
数据仓库·hive·hadoop
千叶真尹2 小时前
通过Hive小文件合并(CombineHiveInputFormat)减少80%的Map任务数
数据仓库·hive·hadoop
Dolphin_Home2 小时前
搭建 Hadoop 3.3.6 伪分布式
大数据·hadoop·分布式
Yvonne9782 小时前
Hadoop HDFS基准测试
大数据·hadoop·hdfs
Yvonne9782 小时前
Hadoop初体验
大数据·hadoop
m0_748247554 小时前
重学SpringBoot3-整合 Elasticsearch 8.x (二)使用Repository
大数据·elasticsearch·jenkins
姜来可期4 小时前
【分布式数据一致性算法】Gossip协议详解
分布式
begei4 小时前
理解vllm分布式推理服务中的多节点Multi-Node部署方式
分布式
乐享数科4 小时前
乐享数科:供应链金融—三个不同阶段的融资模式
大数据·人工智能·金融