一种HDFS分布式文件系统的自适应容错调节方法与流程

文档序号:12465898阅读:423来源:国知局
一种HDFS分布式文件系统的自适应容错调节方法与流程

本发明涉及分布式存储技术领域。更具体地,涉及一种HDFS分布式文件系统的自适应容错调节方法。



背景技术:

分布式文件系统(Distributed File System,HDFS)是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统的设计基于客户机/服务器模式。Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。一个典型的网络可能包括多个供多用户访问的服务器。另外,对等特性允许一些系统扮演客户机和服务器的双重角色。常见的分布式文件系统有,GFS、HDFS、Lustre、Ceph、GridFS、mogileFS、TFS、FastDFS等,各自适用于不同的领域。

HDFS有着高容错性(fault-tolerant)的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求(requirements)这样可以实现流的形式访问(streaming access)文件系统中的数据。

云计算的核心理念是集结大批量低配置的服务器节点通过虚拟化技术和高速网络连接构成的一个大的资源池。然而,随着数据量的增长和集群节点规模的扩大,使得服务器发生故障的几率也大大增加。根据Google在2006年发布的一项报告指出,在项目执行过程中,平均每个作业的执行会有5个工作节点宕机,在4000台机器上组成的集群上运行6个小时的作业至少有一个磁盘损坏。国内外对于解决集群系统容错问题的关键技术主要是故障检测、冗余备份和错误恢复等。核心思想是利用转储的方式把执行过程中的计算信息或数据保存到稳定的存储器上,尽可能早到发现集群故障,一旦出现任务失败或者节点失败,能够及时地做出相应的数据和计算迁移操作,保证系统的连续运行和计算的可靠性。

因此,需要提供一种HDFS分布式文件系统的自适应容错调节方法。



技术实现要素:

本发明的目的在于提出一种分布式存储系统的自适应容错机制,用于提高分布式存储系统的容错能力与故障条件下节点任务执行速度。

为达到上述目的,本发明采用下述技术方案:

一种HDFS分布式文件系统的自适应容错调节方法,该方法包括以下步骤:

S1:初始化系统,获取主节点与从节点的心跳信息,获取节点间的节点间连通信息;

S2:建立中间数据存储器,接入HDFS主节点与所有从节点连通,备份与恢复各节点的中间数据;

S3:进行自适应故障诊断;

S4:调用任务容错调节阶段流程;

S5:根据情况选择调用节点容错调节阶段流程;

S6:根据情况选择调用线路容错调节阶段流程。

优选地,初始化系统包括对故障任务列表、通信故障查修列表、故障节点列表和节点库进行初始化。

优选地,使用具有高数据IO速度和可靠性的硬件设备组成高可靠性中间数据IO集群存储器作为中间数据存储器。

优选地,自适应故障诊断通过主节点运行故障自诊断模块监视HDFS的运行情况,根据心跳信息与节点间连通信息判断故障种类。

优选地,步骤S2中,中间数据存储器备份中间数据具体包括以下步骤:

S201:通过HDFS系统任务监视器,获取任务完成进度百分比;

S202:在每个节点任务完成至该任务的25%、50%和75%时,设置检查点;

S203:进行任务的中间数据备份,将所得结果与对应任务的百分比发送至中间数据存储器完成备份;

S204:每个任务的完成进度更新时,用新的检查点数据覆盖旧检查点存储的数据。

优选地,步骤S3具体包括以下步骤:

S301:检查心跳信息是否异常,异常心跳信息报告节点任务的运行情况,检测任务级别的故障,检测到故障之后,该任务进入任务容错调节阶段;

S302:初始化各节点信任度T和信度因子i;

S303:构建三维信度因子矩阵(x,y,z),其中,x,y表示HDFS各节点到任意节点的信度因子,z轴表示这种空间状态在时间维度上的积累;

S304:检查节点间连通信息,若存在节点出现节点间连通信息异常,则该节点的信度值被降为T-i,i表示信度因子,信度因子时间轴衰减速度如下式:

it(A,B)=α*it-1(A,B),A∈N

其中,α为信度因子时间衰减系数;

S305:信度因子空间轴衰减速度如下式:

其中,β为信度因子空间衰减系数;

S306:通过对三维信度因子矩阵进行计算,将每个时间监测点与系统预设的阙值进行对比,信任度小于系统预设的阙值的节点,执行步骤S4;

S307:若节点只有时间信任度低于阙值,则说明一个节点的向个别节点发送数据失败,而向其他数据节点发送数据畅通,该特征为线路故障,进入节点容错调节阶段;

S308:检查节点间连通信息,若多个节点向某一节点数据请求都是失败,该特征为节点故障,如宕机的情况,则进入线路容错调节阶段。

优选地,步骤S4具体包括以下步骤:

S401:确认未完成任务信息,将故障任务按照故障时间先后顺序存入故障任务列表;

S402:按照未分配的故障任务时间优先的原则,每次故障任务再分配结束之后,将该故障任务的故障次数加1,并将状态设置为“已分配”;

S403:通过故障任务名称向中间数具存储器请求中间数据,若中间数据存在,则将该故障任务中间数据发送至任务的再分配节点;

S404:中间数据存储器在HDFS系统节点任务出现故障时,将中间数据恢复到任务再分配的节点;

S405:接受故障任务列表的再分配状态与再分配的节点ID;

S406:根据再分配任务检索所存储的中间数据,并根据再分配节点ID将对应中间数据推送至再分配节点,使节点在检查点继续运行向前计算。

优选地,步骤S5具体包括以下步骤:

S501:确认故障节点信息,将故障节点添加至故障节点列表,故障次数加1,记录时间,并将该节点ID从节点库中移除,主节点停止向该节点发送任务信息,系统通知工作人员检修;

S502:执行步骤S4,继续对受影响任务进行容错调节。

优选地,步骤S6具体包括以下步骤:

S601:确认故障线路信息,将故障线路添加至通信故障查修列表,线路故障次数加1,线路的端点A、B节点不再通过该线路向另一个节点请求信息,而是通过其他线路或跨节点请求,并通知人员检修;

S602:执行步骤S4,继续对受影响任务进行容错调节。

本发明的有益效果如下:

本发明中的一种HDFS分布式文件系统的自适应容错调节方法,基于具有良好容错能力的HDFS分布式文件系统,通过设计中间数据恢复机制,大大提高了中断任务再执行的运行效率。

附图说明

下面结合附图对本发明的具体实施方式作进一步详细的说明。

图1示出HDFS自适应容错机制流程图。

图2示出中间数据存储器备份流程图。

图3示出故障任务中间数据恢复流程图。

图4示出TFP任务容错阶段流程图。

图5示出线路故障容错机制LFP与节点故障容错机制NFP流程图。

具体实施方式

为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。

如图1所示,一种HDFS分布式文件系统的自适应容错调节方法,该方法包括以下步骤:

1、初始化故障任务列表、通信故障查修列表、故障节点列表、节点库,获取主节点与从节点的心跳信息,获取节点间的节点间连通信息;

2、使用数据IO速度非常高、可靠性好的硬件设备组成高可靠性中间数据IO集群存储器,接入HDFS主节点与所有从节点连通;

如图2所示,备份与恢复各节点的中间数据:

3、通过HDFS系统任务监视器,获取任务完成进度百分比;

4、每个节点任务完成到该任务的25%、50%、75%时设置检查点;

5、进行任务的中间数据备份,将当下的所得结果与任务的百分比发送至中间数据存储器完成备份;

6、每个任务的完成进度更新时,用新的检查点数据覆盖旧检查点存储的数据;

7、主节点运行故障自诊断模块监视HDFS的运行情况,获取心跳信息与节点间连通信息;

8、检查心跳信息是否异常,异常心跳信息会报告节点任务的运行情况,能够检测任务级别的故障,检测到故障之后,该任务进入任务容错调节阶段(Task Fault-Tolerant Phase,TFP);

9、初始化各节点信任度T,信度因子i;

10、构建三维信度因子矩阵(x,y,z),x,y表示HDFS各节点到任意节点的信度因子,z轴表示这种空间状态在时间维度上的积累;

如图3所示,进行自适应故障诊断和故障任务中间数据恢复:

11、检查节点间连通信息,如果存在节点出现节点间连通信息异常,则该节点的信度值被降为T-i,i表示信度因子,下面为信度因子时间轴衰减速度公式:

it(A,B)=α*it-1(A,B)A∈N

其中,α为信度因子时间衰减系数。

12、下面为信度因子空间轴衰减速度公式:

其中,β为信度因子空间衰减系数。

13、通过对三维信度因子矩阵的计算,每个时间监测点都与给定的阙值进行对比,搜索信任度小于系统预设的阙值的节点,转至第14、15步操作;

14、如果某个节点只有时间信任度低于阙值,则说明一个节点的向个别节点发送数据失败,而向其他数据节点发送数据畅通,该特征为线路故障,进入节点容错调节阶段(Line Fault-Tolerant Phase,LFP),转至第18步;

15、检查节点间连通信息,如果许多节点向某一节点数据请求都是失败,该特征为节点故障,如宕机的情况,则进入线路容错调节阶段(Node Fault-Tolerant Phase,NFP),转至第17步;

16、如图4所示,任务容错调节阶段TFP:

1)、确认未完成任务信息,将故障任务按照故障时间先后顺序加入故障任务列表;

2)、按照未分配的故障任务时间优先的原则,每次故障任务再分配结束之后,将该故障任务的故障次数加1,将状态设置为“已分配”;

3)、随后通过故障任务名称向中间数具存储器请求中间数据,如果中间数据存在,将该故障任务中间数据发送至任务的再分配节点;

4)、中间数据存储器在HDFS系统节点任务出现故障时,将中间数据恢复到任务再分配的节点;

5)、接受故障任务列表的再分配状态与再分配的节点ID;

6)、根据再分配任务检索所存储的中间数据,并根据再分配节点ID将对应中间数据推送至再分配节点,使节点在检查点继续运行向前计算。

17、如图5所示,节点容错调节阶段NFP:

1)、确认故障节点信息,将故障节点添加至故障节点列表,故障次数加1,记录时间,并将该节点ID从节点库中移除,此时主节点不再向该节点发送任务信息,系统通知工作人员检修;

2)、转到第16步TFP继续执行。

18、如图5所示,线路容错调节阶段LFP:

1)、确认故障线路信息,将故障线路添加至通信故障查修列表,该线路故障次数加1,该线路的端点A、B节点不再通过该线路向另一个节点请求信息,而是通过其他线路,或者跨节点请求,并通知人员检修;

2)、转到第16步TFP继续执行。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1