ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ZKFailoverController的作用

2021-10-08 18:33:15  阅读:192  来源: 互联网

标签:ZK 本地 NameNode 健康 ZKFailoverController ZKFC 节点 作用


HDFS中自动化的failover故障转移需要增加两个新的组件:
一个是Zookeeper quorum(仲裁),
另一个是ZKFailoverController进程(简称ZKFC)。

Apache Zookeeper是一个高可用的服务,对于小规模数据协调,通知客户端数据变化,监控客户端失败。

自动failover的实现是基于ZK以下的作用:

Failure detection
集群中的每个NameNode机器在ZK上保持持久化会话。如果机器崩溃,ZK会话过期,通知其它NameNode有一个failover将被触发。

Active NameNode election
ZK提供一个简单机制,选举出唯一的一个节点作为active。如果当前的active NameNode崩溃,另一个节点可能在ZK持有特定的互斥型锁,表名它将成为下一个active。

ZKFC是一个ZK客户端,也监控和管理NameNode的状态。NameNode运行的所在的每个机器也要运行一个ZKFC。

ZKFC负责:

健康监测
ZKFC定期使用健康检查命令调用其本地NameNode。只要NameNode以健康的状态及时响应,ZKFC就会认为节点是健康的。
如果节点已崩溃、冻结或以其他方式进入不健康状态,则健康监视器将将其标记为不健康。

ZooKeeper会话管理
当本地NameNode健康时,ZKFC在ZooKeeper中举行一个开放的会话。
如果本地NameNode是活动的,它也持有一个特殊的“锁”。此锁使用ZooKeeptor对“临时”节点的支持;如果会话过期,则将自动删除锁节点。

基于ZooKeeper的选举
如果本地NameNode是健康的,而ZKFC认为目前没有其他节点持有锁,
它本身就会尝试获取锁。如果它成功了,那么它已经“赢得了选举”,并负责运行故障转移以使其本地NameNode活动。故障转移过程类似于上面描述的手动故障转移:首先,如果需要,对前一个活动进行隔离,然后本地NameNode转换到活动状态。

 

标签:ZK,本地,NameNode,健康,ZKFailoverController,ZKFC,节点,作用
来源: https://www.cnblogs.com/zzz01/p/15381234.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有