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

相关推荐
beijingliushao15 分钟前
27-数据仓库与Apache Hive-2
数据仓库·hive·hadoop
真上帝的左手1 小时前
12. 消息队列-RabbitMQ
分布式·rabbitmq
WLJT1231231231 小时前
冷冻食材,鲜美生活的新选择
大数据
每天的每一天2 小时前
分布式文件系统06-分布式中间件弹性扩容与rebalance重平衡
分布式·中间件
2301_769006782 小时前
祝贺!1464种期刊被收录,CSCD 核心期刊目录更新!(附下载)
大数据·数据库·人工智能·搜索引擎·期刊
新时代苦力工3 小时前
Redis 分布式Session
数据库·redis·分布式
iGarment3 小时前
服装外贸系统:高效管理,全流程优化方案
大数据·云计算
武汉格发Gofartlic4 小时前
HFSS许可证常见问题及解决方案
大数据·运维·人工智能·数据分析·自动化
运维行者_4 小时前
多数据中心运维:别让 “分布式” 变成 “混乱式”
运维·数据库·分布式·测试工具·自动化·负载均衡·故障告警
数据猿视觉4 小时前
宁商平台税务升级之路:合规为纲,服务为本
大数据·人工智能·microsoft