NameNode 的主备切换实现
来源:互联网 发布:手机温度监控软件 编辑:程序博客网 时间:2024/06/07 09:23
NameNode 主备切换主要由 ZKFailoverController、HealthMonitor 和 ActiveStandbyElector 这 3 个组件来协同实现:
ZKFailoverController 作为 NameNode 机器上一个独立的进程启动 (在 hdfs 启动脚本之中的进程名为 zkfc),启动的时候会创建 HealthMonitor 和 ActiveStandbyElector 这两个主要的内部组件,ZKFailoverController 在创建 HealthMonitor 和 ActiveStandbyElector 的同时,也会向 HealthMonitor 和 ActiveStandbyElector 注册相应的回调方法。
HealthMonitor 主要负责检测 NameNode 的健康状态,如果检测到 NameNode 的状态发生变化,会回调 ZKFailoverController 的相应方法进行自动的主备选举。
ActiveStandbyElector 主要负责完成自动的主备选举,内部封装了 Zookeeper 的处理逻辑,一旦 Zookeeper 主备选举完成,会回调 ZKFailoverController 的相应方法来进行 NameNode 的主备状态切换。
- HealthMonitor 初始化完成之后会启动内部的线程来定时调用对应 NameNode 的 HAServiceProtocol RPC 接口的方法,对 NameNode 的健康状态进行检测。
- HealthMonitor 如果检测到 NameNode 的健康状态发生变化,会回调 ZKFailoverController 注册的相应方法进行处理。
- 如果 ZKFailoverController 判断需要进行主备切换,会首先使用 ActiveStandbyElector 来进行自动的主备选举。
- ActiveStandbyElector 与 Zookeeper 进行交互完成自动的主备选举。
- ActiveStandbyElector 在主备选举完成后,会回调 ZKFailoverController 的相应方法来通知当前的 NameNode 成为主 NameNode 或备 NameNode。
- ZKFailoverController 调用对应 NameNode 的 HAServiceProtocol RPC 接口的方法将 NameNode 转换为 Active 状态或 Standby 状态。
0 0
- NameNode 的主备切换实现
- HDFS ZKFC实现NameNode自动切换原理
- hadoop namenode切换
- 关于Hadoop NameNode之间切换失败的解决过程记录
- HDFS------namenode中的ClientProtocol的实现
- hadoop+zookepper实现namenode的高可用
- hadoop namenode ha--手动切换
- hadoop namenode ha--手动切换
- hadoop namenode ha--手动切换
- Hadoop集群NameNode强制切换
- keepalived实现主备切换
- 测试redis+keepalived实现简单的主备切换
- ubuntu快速安装实现keepalived的主备切换
- Hadoop2.7.0集群的NameNode在HA下如何切换active和standby状态
- hadoop RPC框架实现和NameNode的交互
- hadoop2.x手动切换namenode active
- 错误:namenode无法自动切换成active
- WiMAX的切换实现
- 【看书】输出不确定位数的小数
- android存储方式之SharedPreferences
- STM8L151在STVD/IAR下重定向printf函数
- 一个linux下g++使用的 makefile 模板
- [LeetCode 316] Remove Duplicate Letters
- NameNode 的主备切换实现
- JDBC的复习
- Maven工作流程
- void类型指针
- Eclipse设置、调优、使用
- 【JavaWeb Structs2学习】 安装配置Structs2
- 第十二章 对象(上)
- 解决小米手机出现INSTALL_FAILED_UID_CHANGE错误,安装应用失败的问题
- java 生成xml并转存为zip