当前位置: 首页 > news >正文

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.出现问题的脑裂解决方法,脚本运用。

相关文章:

  • 重写QListWidget/QListView的代理,以网格的形式展示Item
  • jvm中各个参数的理解
  • Ubuntu编译ZLMediaKit
  • react实例与总结(二)
  • ollama修改监听ip: 0.0.0.0
  • deepseek清华大学第二版 如何获取 DeepSeek如何赋能职场应用 PDF文档 电子档(附下载)
  • 计算机网络基础杂谈(局域网、ip、子网掩码、网关、DNS)
  • 分布式 IO 模块:水力发电设备高效控制的关键
  • 正则表达式特殊字符
  • Nginx 常用命令和部署详解及案例示范
  • arthas教程(还没有全部写完,有空更新)
  • QT事件循环
  • 【Spring详解五】bean的加载
  • Debian软件包重构
  • 第三章:Transformer模型探索
  • ECMAScript6----var、let、const
  • 【Pandas】pandas Series rename_axis
  • vue3面试题进阶版
  • 【设计模式精讲】创建型模式之原型模式(深克隆、浅克隆)
  • [特殊字符]边缘计算课程资料整理|从零到实战全攻略[特殊字符]
  • 中央政治局会议举行,传递三重确定性
  • 中国驻英国大使郑泽光:中国需要世界,世界也需要中国
  • 乌克兰基辅遭大规模袭击,已致12人死亡
  • 神舟二十号载人飞船成功飞天,上海航天有何贡献?
  • 最高法:侵犯著作权罪中的“复制发行”不包括单纯发行行为
  • 美股反弹,纳斯达克中国金龙指数大涨3.69%