一种基于HDFS集群的存储节点的转移方法及装置与流程

文档序号:15845361发布日期:2018-11-07 08:56阅读:212来源:国知局
一种基于HDFS集群的存储节点的转移方法及装置与流程

本发明涉及hdfs分布式文件系统领域,特别是涉及一种基于hdfs集群的存储节点的转移方法及装置。

背景技术

hadoop是一个由apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序,进而能够充分利用集群的整体性进行高速运算和存储。而hadoop的体系结构主要是通过hdfs分布式文件系统以实现数据的分布式存储,进而能够为hadoop的一系列数据处理框架提供高效的数据支持。

由于hdfs分布式文件系统具有集群特性,所以当hdfs集群中的节点出现故障时,可以启用备用节点或者将故障节点的数据转移到hdfs集群的其它节点中,但是实现上述功能的前提时,启用的节点或数据转移的节点必须预先进行hdfs的相关配置。由于hdfs的工作性质,集群中故障节点中的数据会转移到集群中正常的节点中,因此,当集群中进行了hdfs相关配置的节点数量较少,或是hdfs集群中的节点出现大范围故障时,故障节点向其它正常节点转移数据会增大集群整体的工作压力,并且降低hdfs集群的工作效率,进而会降低hdfs集群的可用性。

由此可见,提供一种基于hdfs集群的存储节点的转移方法,以保证hdfs集群的工作效率,提高hdfs集群的可用性,是本领域技术人员亟待解决的问题。



技术实现要素:

本发明的目的是提供一种基于hdfs集群的存储节点的转移方法及装置,保证hdfs集群的工作效率,提高hdfs集群的可用性。

为解决上述技术问题,本发明提供一种基于hdfs集群的存储节点的转移方法,包括:

通过监控节点获取集群中的存储节点的运行状态;

根据运行状态判断存储节点是否出现故障;

如果是,则获取集群中的非存储节点,并对非存储节点进行hdfs的相关配置以作为新的存储节点;

其中,所有监控节点、存储节点以及非存储节点均启动yarn和hbase。

优选的,该方法进一步包括:

增加新的非存储节点,配置并记录新的非存储节点的地址信息。

优选的,获取集群中非存储节点具体为:

根据所记录的非存储节点的地址信息获取集群中非存储节点。

优选的,地址信息具体包括hostname以及ip地址。

优选的,在对非存储节点进行hdfs的相关配置以作为新的存储节点后,该方法进一步包括:

启用新的监控节点用于监控新的存储节点。

优选的,对非存储节点进行hdfs的相关配置具体为:

对非存储节点进行与存储节点相同的hdfs的相关配置。

优选的,存储节点具体包括:

主存储节点以及从属存储节点。

此外,本发明还提供一种基于hdfs集群的存储节点的转移装置,包括:

监控模块,用于通过监控节点获取集群中的存储节点的运行状态;

判断模块,用于根据运行状态判断存储节点是否出现故障,

如果是,则调用节点配置模块;

节点配置模块,用于获取集群中的非存储节点,并对非存储节点进行hdfs的相关配置以作为新的存储节点;

其中,所有监控节点、存储节点以及非存储节点均启动yarn和hbase。

优选的,该装置进一步包括:

节点增加模块,用于增加新的非存储节点,配置并记录新的非存储节点的地址信息。

优选的,该装置进一步包括:

监控节点启用模块,用于启用新的监控节点用于监控新的存储节点。

本发明所提供的基于hdfs集群的存储节点的转移方法,通过监控节点监控集群中存储节点的运行状态,当集群中存储节点出现故障时,则将集群中的非存储节点配置为存储节点。本方法的好处在于,当集群中的存储节点较少或集群中的存储节点大量发生故障时,能够在集群中补充新的存储节点进行工作,保障了hdfs集群中可用节点的数量不会发生较大改变,故障节点的数据不会给hdfs集群中其它节点带来存储上的压力。可见本方法减轻了hdfs集群中各个节点的工作压力,进而保证了hdfs集群整体可用性以及整体的工作效率。此外,本发明还提供一种基于hdfs集群的存储节点的转移装置,与上述的方法对应,有益效果如上所述。

附图说明

为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种基于hdfs集群的存储节点的转移方法的流程图;

图2为本发明实施例提供的另一种基于hdfs集群的存储节点的转移方法的流程图;

图3为本发明实施例提供的一种基于hdfs集群的存储节点的转移装置结构图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。

本发明的核心是提供一种基于hdfs集群的存储节点的转移方法及装置,保证hdfs集群的工作效率,提高hdfs集群的可用性。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。

实施例一

图1为本发明实施例提供的一种基于hdfs集群的存储节点的转移方法的流程图。请参考图1,基于hdfs集群的存储节点的转移方法的具体步骤包括:

步骤s10:通过监控节点获取集群中的存储节点的运行状态。

在本步骤中,监控节点与集群中的存储节点为建立连接的状态,目的是为了监控存储节点的运行情况,以及将运行情况进行记录等。需要说明的是,监控节点的拓扑情况可以具体为主监控节点下连接并控制多个从属监控节点,以形成监控节点集群。主监控节点用于记录从属监控节点的监控数据,以及根据从属监控节点的监控情况控制从属监控节点进行相应的操作等。

步骤s11:根据运行状态判断存储节点是否出现故障,如果是,则执行步骤s12。

可以理解的是,监控节点对于存储节点的一项重要监控内容就是存储节点是否正常运行,如果存储节点出现故障就需要进行后续的处理步骤。

步骤s12:获取集群中的非存储节点,并对非存储节点进行hdfs的相关配置以作为新的存储节点。

其中,所有监控节点、存储节点以及非存储节点均启动yarn和hbase。

可以理解的是,hdfs集群中的存储节点数量是有限的,当存储节点大面积故障时或集群节点过少时,集群中故障存储节点中的数据需要传输给正常的存储节点进行存储,但是当大量数据分配给少量存储节点时,会给存储节点带来很大的工作压力。此外,当数据量大于存储节点的整体承载量,还会造成数据的丢失。因此,上述情况不但严重影响了hdfs集群的整体工作效率,而且对数据的安全也会造成一定的威胁。可以理解的是,将非存储节点配置为新的存储节点的目的是为了增加集群中存储节点的数量,保证hdfs集群的整体工作水平。需要说明的是,所有监控节点、存储节点以及非存储节点均启动yarn和hbase是监控节点、存储节点正常工作以及非存储节点配置为存储节点后能够正常工作的前提条件。

本发明所提供的基于hdfs集群的存储节点的转移方法,通过监控节点监控集群中存储节点的运行状态,当集群中存储节点出现故障时,则将集群中的非存储节点配置为存储节点。本方法的好处在于,当集群中的存储节点较少或集群中的存储节点大量发生故障时,能够在集群中补充新的存储节点进行工作,保障了hdfs集群中可用节点的数量不会发生较大改变,故障节点的数据不会给hdfs集群中其它节点带来存储上的压力。可见本方法减轻了hdfs集群中各个节点的工作压力,进而保证了hdfs集群整体可用性以及整体的工作效率。

实施例二

图2为本发明实施例提供的另一种基于hdfs集群的存储节点的转移方法的流程图。图2中步骤s10-s12与图1相同,在此不再赘述。

如图2所示,作为一种优选的实施方式,该方法进一步包括:

步骤s20:增加新的非存储节点,配置并记录新的非存储节点的地址信息。

可以理解的是,在集群中增加非存储节点相当于增加了备用的存储节点,进而避免存储节点故障时没有非存储节点能够被配置为存储节点的情况发生。配置并记录新的非存储节点的地址信息的目的是为了在后续步骤中通过地址信息找到对应的非存储节点。本步骤可以在任意步骤之前进行,也可以与任意步骤同时进行,在此不做具体限定。

在上述实施例的基础上,作为一种优选的实施方式,获取集群中非存储节点具体为:

根据所记录的非存储节点的地址信息获取集群中非存储节点。

需要说明的是,由于地址信息是分辨不同节点的唯一可行的标志,因此配置并记录新的非存储节点的地址信息的目的是当后续需要使用非存储节点时,能够根据所记录的地址信息确定可用的非存储节点并进行后续的操作。

在上述实施例的基础上,作为一种优选的实施方式,地址信息具体包括hostname以及ip地址。

需要说明的是,在集群中的hostname往往是不同的,用户根据节点的作用进行相应的hostname设置,不同的hostname象征着不同的节点,进而实现节点之间的区分。另外,在集群中任意的ip地址都是唯一的,节点之间可以通过ip地址进行通信,因此使用ip地址也能够确定不同的节点。当然也可以将hostname与ip地址相对应进行记录,在清楚节点作用的同时能够确保每个节点都是唯一的。

此外,在上述实施例的基础上,作为一种优选的实施方式,在对非存储节点进行hdfs的相关配置以作为新的存储节点后,该方法进一步包括:

步骤s21:启用新的监控节点用于监控新的存储节点。

由于考虑到故障的存储节点所对应的监控节点可能会被用于其它操作,或是该监控节点与新的存储节点之间的通信有延迟,可能会造成监控失准的情况,因此开启新的监控节点用于监控新的存储节点能够对新的存储节点进行更加准确监控,提高了集群整体的可靠性。

此外,在上述实施例的基础上,作为一种优选的实施方式,对非存储节点进行hdfs的相关配置具体为:

对非存储节点进行与存储节点相同的hdfs的相关配置。

可以理解的是,对非存储节点进行与存储节点相同的hdfs的相关配置的目的是使新的存储节点执行故障的存储节点的工作内容,进而使新的存储节点完全取代故障的存储节点。

此外,在上述实施例的基础上,作为一种优选的实施方式,存储节点具体包括:

主存储节点以及从属存储节点。

需要说明的是,主存储节点用于管理从属存储节点的相关信息,并且能够控制从属存储节点进行数据的存储等操作。另外,从属存储节点用于存储数据并且将数据的存储情况向主存储节点进行反馈。通过主存储节点和从属存储节点配合工作能够使数据的存储更加安全高效。

实施例三

在上文中对于基于hdfs集群的存储节点的转移方法的实施例进行了详细的描述,本发明还提供一种与该方法对应的基于hdfs集群的存储节点的转移装置,由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

图3为本发明实施例提供的一种基于hdfs集群的存储节点的转移装置结构图。本发明实施例提供的基于hdfs集群的存储节点的转移装置,具体包括:

监控模块10,用于通过监控节点获取集群中的存储节点的运行状态。

判断模块11,用于根据运行状态判断存储节点是否出现故障,

如果是,则调用节点配置模块12。

节点配置模块12,用于获取集群中的非存储节点,并对非存储节点进行hdfs的相关配置以作为新的存储节点。

其中,所有监控节点、存储节点以及非存储节点均启动yarn和hbase。

本发明所提供的基于hdfs集群的存储节点的转移装置,通过监控节点监控集群中存储节点的运行状态,当集群中存储节点出现故障时,则将集群中的非存储节点配置为存储节点。本装置的好处在于,当集群中的存储节点较少或集群中的存储节点大量发生故障时,能够在集群中补充新的存储节点进行工作,保障了hdfs集群中可用节点的数量不会发生较大改变,故障节点的数据不会给hdfs集群中其它节点带来存储上的压力。可见本方法减轻了hdfs集群中各个节点的工作压力,进而保证了hdfs集群整体可用性以及整体的工作效率。

在实施例三的基础上,该装置还包括:

节点增加模块,用于增加新的非存储节点,配置并记录新的非存储节点的地址信息。

在实施例三的基础上,该装置还包括:

监控节点启用模块,用于启用新的监控节点用于监控新的存储节点。

以上对本发明所提供的一种基于hdfs集群的存储节点的转移方法及装置进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

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