一种HDFS的高可用选举算法制造技术

技术编号:38607502 阅读:9 留言:0更新日期:2023-08-26 23:38
本发明专利技术公开了一种HDFS的高可用选举算法,所述算法具体为:在元数据节点中由NameNode进程提供元数据服务,两元数据节点直连后,由NNMonitor进程通过选举算法来完成快速选举及切换;本发明专利技术为两节点的HDFS提供了快速选举和主备切换机制,大大减少了HDFS的主备选举和切换时间,提高了分布式文件系统的可用性。提高了分布式文件系统的可用性。提高了分布式文件系统的可用性。

【技术实现步骤摘要】
一种HDFS的高可用选举算法


[0001]本专利技术涉及分布式文件系统中两节点高可用主备选举和切换算法
,尤其是涉及一种HDFS的高可用选举算法。

技术介绍

[0002]Hadoop框架中,HDFS分布式文件系统使用Zookeeper+ZKFC+QJM实现元数据节点的高可用方案。
[0003]在CAP理论中一个分布式系统不可能同时满足以下三种:
[0004]●
一致性(C:Consistency)
[0005]●
可用性(A:Available)
[0006]●
分区容错性(P:Partition Tolerance)
[0007]HDFS使用以上Zookeeper+ZKFC+QJM选择的是CP,即为了保证分布式数据的一致性,而放弃了其可用性。集群选举的过程中,可能由于ZAB算法对一致性的高要求,而导致选举时间较久,而选举过程中,元数据不可访问,因此该阶段整个分布式文件系统为不可用状态。
[0008]针对两节点HDFS选举时间较久的问题,本专利技术提供了一种快速选举和主备切换机制,大大减少了HDFS的主备选举和切换时间,进而提高了系统的可用性。
[0009]公开于该
技术介绍
部分的信息仅仅旨在加深对本专利技术的总体
技术介绍
的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。

技术实现思路

[0010]本专利技术的目的在于提供一种HDFS的高可用选举算法,旨在解决两节点的namenode环境快速选举切换问题,不涉及元数据同步问题。
[0011]为了实现上述目的,本专利技术采用以下技术方案:
[0012]本专利技术提供一种HDFS的高可用选举算法,所述算法具体为:在元数据节点中由NameNode进程提供元数据服务,两元数据节点直连后,由NNMonitor进程通过选举算法来完成快速选举及切换;
[0013]所述算法用于解决两节点的namenode环境快速选举切换问题,不涉及元数据同步问题;
[0014]元数据节点NNMonitor进程涉及的主备选举算法发生在以下两个场景;
[0015]1)元数据节点初始化阶段:
[0016]a.节点上线初始化为init状态;
[0017]b.对于init状态的节点,检查本元数据节点上次上线状态;若为本节点上次为slave状态,那么当前状态仍为slave;若本节点上次为master状态,那么本次当前状态为isMaster状态;
[0018]c.对于ismaster状态的节点,询问对端节点当前状态;若对端节点超时未回复,转
为master状态;若对端节点为slave状态,转为master状态;若对端节点为非slave状态,那么进入battle_master状态;
[0019]d.对于battle_master状态的节点,比较两元数据节点作为master节点的最终活跃时间戳;对于时间戳更大的节点,battle成功;
[0020]e.对于battle成功的节点,进入master状态;battle失败的节点,进入slave状态;
[0021]2)元数据节点发生异常后:
[0022]主节点NNMonitor进程监控以下服务,包括:
[0023]主NameNode进程是否正常;
[0024]主元数据节点数据网络是否正常;
[0025]从NNMonitor进程是否正常;
[0026]从节点NNMonitor进程监控以下服务,包括:
[0027]从NameNode进程是否正常;
[0028]从元数据节点数据网络是否正常;
[0029]主NNMonitor进程是否正常;
[0030]主元数据节点工作是否正常;
[0031]以上所有监控项中,若发现主节点有异常,触发主节点恢复机制,若从节点有异常,触发从节点恢复机制。
[0032]采用上述技术方案,本专利技术具有如下有益效果:
[0033]本专利技术为两节点的HDFS提供了快速选举和主备切换机制,大大减少了HDFS的主备选举和切换时间,提高了分布式文件系统的可用性。
附图说明
[0034]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图是本专利技术的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0035]图1为本专利技术提供的HDFS选举算法架构图;
[0036]图2为本专利技术提供的NNMonitor启动主备选举算法流程图;
[0037]图3为本专利技术提供的NNMonitor主备切换算法流程图。
具体实施方式
[0038]下面将结合附图对本专利技术的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0039]结合图1

3所示,本实施例提供一种HDFS的高可用选举算法,所述算法具体为:在元数据节点中由NameNode进程提供元数据服务,两元数据节点直连后,由NNMonitor进程通过选举算法来完成快速选举及切换;
[0040]所述算法用于解决两节点的namenode环境快速选举切换问题,不涉及元数据同步问题;
[0041]元数据节点NNMonitor进程涉及的主备选举算法发生在以下两个场景;
[0042]1)元数据节点初始化阶段:
[0043]a.节点上线初始化为init状态;
[0044]b.对于init状态的节点,检查本元数据节点上次上线状态;若为本节点上次为slave状态,那么当前状态仍为slave;若本节点上次为master状态,那么本次当前状态为isMaster状态;
[0045]c.对于ismaster状态的节点,询问对端节点当前状态;若对端节点超时未回复,转为master状态;若对端节点为slave状态,转为master状态;若对端节点为非slave状态,那么进入battle_master状态;
[0046]d.对于battle_master状态的节点,比较两元数据节点作为master节点的最终活跃时间戳;对于时间戳更大的节点,battle成功;
[0047]e.对于battle成功的节点,进入master状态;battle失败的节点,进入slave状态;
[0048]2)元数据节点发生异常后:
[0049]主节点NNMonitor进程监控以下服务,包括:
[0050]主NameNode进程是否正常;
[0051]主元数据节点数据网络是否正常;
[0052]从NNMonitor进程是否正常;
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种HDFS的高可用选举算法,其特征在于,所述算法具体为:在元数据节点中由NameNode进程提供元数据服务,两元数据节点直连后,由NNMonitor进程通过选举算法来完成快速选举及切换;所述算法用于解决两节点的namenode环境快速选举切换问题,不涉及元数据同步问题;元数据节点NNMonitor进程涉及的主备选举算法发生在以下两个场景;1)元数据节点初始化阶段:a.节点上线初始化为init状态;b.对于init状态的节点,检查本元数据节点上次上线状态;若为本节点上次为slave状态,那么当前状态仍为slave;若本节点上次为master状态,那么本次当前状态为isMaster状态;c.对于ismaster状态的节点,询问对端节点当前状态;若对端节点超时未回复,转为master状态;若对端节点为slave状态,转为master状态;若对...

【专利技术属性】
技术研发人员:方媛吕金泉杨国文
申请(专利权)人:北京卓越信通电子股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1