系统内节点数的调整方法和装置与流程

文档序号:11829203阅读:219来源:国知局
系统内节点数的调整方法和装置与流程

本发明涉及分布式存储技术领域,尤其涉及一种系统内节点数的调整方法和装置。



背景技术:

Hadoop是一个能够对大量数据进行分布式处理的开源软件框架。Hadoop的存储核心是分布式文件系统(HDFS)。HDFS适合运行在通用的硬件上,并需要部署在大量设备上,以此来支持大规模的数据集和高吞吐量的数据访问,并通过可以分布在不同设备上的多个副本数来实现高容错性。HDFS所部署的大量设备组成Hadoop集群。

然而,目前Hadoop系统中的节点数都是在使用初期即定义,并不能根据实际的数据量进行动态减少或增加,造成不必要的节点设备资源浪费或Hadoop系统内节点资源不足的技术问题。



技术实现要素:

本发明要解决的主要技术问题是,提供一种系统内节点数的调整方法和装置,能够解决目前Hadoop系统中节点数不能动态调整造成的节点设备资源浪费或Hadoop系统内节点设备资源不足的技术问题。

为解决上述技术问题,本发明提供一种系统内节点数的调整方法,包括如下步骤:

接收集群中各节点设备发送的自身当前的硬件使用状况信息,所述节点设备为已启动的节点设备;

根据接收到的硬件使用状况信息获取用于描述所述集群当前使用状态的指标信息;

根据所述指标信息调整所述集群内已启动的节点设备的数量。

进一步地,所述根据所述指标信息调整所述集群内已启动的节点设备的数量的步骤包括:

根据所述指标信息判断所述集群的设备资源使用率是过高还是过低,

若所述集群的设备资源使用率过低,则减少所述集群内已启动的节点设备的数量;

若所述集群的设备资源使用率过高,则增加所述集群内已启动的节点设备的数量。

进一步地,所述增加所述集群内已启动的节点设备的数量的步骤包括:

控制未启动的节点设备启动并加入所述集群以增加所述集群内已启动的节点设备的数量;

所述减少所述集群内已启动的节点设备的数量的步骤包括:

控制所述集群内已启动的节点设备关闭以减少所述集群内已启动的节点设备的数量。

进一步地,所述控制未启动的节点设备启动并加入所述集群以增加所述集群内已启动的节点设备的数量的步骤包括:

通过未启动的节点设备的IPMI(Intelligent Platform Management Interface,智能管理平台接口)控制所述未启动的节点设备启动并加入所述集群以增加所述集群内已启动的节点设备的数量;

所述控制所述集群内已启动的节点设备关闭以减少所述集群内节点设备的数量的步骤包括:

通过所述集群内已启动的节点设备的IPMI控制所述已启动的节点设备关闭以减少所述集群内已启动的节点设备的数量。

进一步地,所述通过未启动的节点设备的IPMI控制所述未启动的节点设备启动并加入所述集群的步骤包括:

向所述未启动的节点设备的IPMI(智能平台管理接口)发送开机指令以使未启动的节点设备启动并加入所述集群;

所述通过所述集群内已启动的节点设备的IPMI控制所述已启动的节点设备关闭的步骤包括:

向所述集群内已启动的节点设备的IPMI发送关机指令以使所述已启动的节点设备关闭。

进一步地,所述指标信息包括至少一个指标,所述根据所述指标信息判断所述集群的设备资源使用率是过高还是过低的步骤包括:

将每项指标的值与各自对应的预设下限阈值和各自对应的预设上限阈值进行比较;

根据比较结果判断所述集群的设备资源使用率是过高还是过低。

进一步地,所述根据比较结果判断所述集群的设备资源使用率是过高还是过低的步骤包括:

当存在至少一项指标的值在预设时间段内持续小于各自对应的预设下限阈值时,则判定所述集群的设备资源使用率过低;

当存在至少一项指标的值在预设时间段内持续大于各自对应的预设上行阈值时,则判定所述集群的设备资源使用率过高。

进一步地,所述硬件使用状况信息包括:设备磁盘空间使用率、设备当前CPU使用率和设备当前内存使用率的至少一种;

对应地所述指示信息包括:集群内总磁盘空间使用率、集群内设备平均CPU使用率和集群内设备平均内存使用率中的至少一种。

同样为了解决上述的技术问题,本发明还提供了另一种系统内节点数的调 整方法,所述方法应用于系统集群中的节点设备,包括如下步骤:

在所述节点设备启动后,采集所述节点设备自身的硬件使用状况信息;

将采集到的硬件使用状况信息发送给出去,以供接收端根据硬件使用状况信息获取用于描述所述集群当前使用状态的指标信息,然后根据所述指标信息调整所述集群内已启动的节点设备的数量。

进一步地,所述将采集到的硬件使用状况信息发送给出去的步骤包括:

通过所述系统使用的JMX(Java Management Extensions,Java管理扩展)框架将采集到的硬件使用状况信息发送给出去。

同样为了解决上述的技术问题,本发明还提供了一种系统内节点数的调整装置,包括:接收模块、分析模块和处理模块;

所述接收模块,用于接收集群中各节点设备发送的自身当前的硬件使用状况信息,所述节点设备为已启动的节点设备;

所述分析模块,用于根据接收到的硬件使用状况信息获取用于描述所述集群当前使用状态的指标信息;

所述处理模块,用于根据所述指标信息调整所述集群内已启动的节点设备的数量。

进一步地,所述处理模块包括:判断模块和调整模块;

所述判断模块,用于根据所述指标信息判断所述集群的设备资源使用率是过高还是过低;

所述调整模块,用于:

在所述判断模块判断所述集群的设备资源使用率过低时,控制所述集群内已启动的节点设备关闭以减少所述集群内已启动的节点设备的数量;

在所述判断模块判断所述集群的设备资源使用率过高时,控制未启动的节点设备启动并加入所述集群以增加所述集群内已启动的节点设备的数量。

进一步地,所述调整模块,用于:

通过未启动的节点设备的IPMI控制所述未启动的节点设备启动并加入所述集群以增加所述集群内已启动的节点设备的数量;

通过所述集群内已启动的节点设备的IPMI控制所述已启动的节点设备关闭以减少所述集群内已启动的节点设备的数量。

同样为了解决上述的技术问题,本发明还提供了另一种系统内节点数的调整装置,所述调整装置应用于系统集群中的节点设备,包括:采集模块和发送模块;

所述采集模块,用于在所述节点设备启动后,采集所述节点设备自身的硬件使用状况信息;

所述发送模块,用于将采集到的硬件使用状况信息发送给出去,以供接收端根据硬件使用状况信息获取用于描述所述集群当前使用状态的指标信息,然后根据所述指标信息调整所述集群内已启动的节点设备的数量。

进一步地,所述调整装置,还包括IPMI和控制模块;

所述IPMI,用于接收外部传输的关机指令并将所述关机指令传输给所述控制模块;

所述控制模块,用于在接收到所述关机指令后关闭所述节点设备。

本发明的有益效果是:

本发明提供了一种系统内节点数的调整方法和装置,其中本发明提供的系统内节点数的调整方法,包括:接收集群中各节点设备发送的自身当前的硬件使用状况信息;根据接收到的硬件使用信息获取用于描述所述集群当前使用状态的指标信息;根据所述指标信息调整所述集群内已启动的节点设备的数量;本发明的调整方法可以根据集群当前的使用状态动态地调整Hadoop集群内节点设备的数量,满足集群对节点设备资源的要求,从而可以提高Hadoop系统内节点设备的利用率减少不需要的资源浪费,以及解决Hadoop系统内节点设备资源 不足的技术问题。

附图说明

图1为本发明实施例一提供的一种Hadoop系统内节点数的调整方法的流程示意图;

图2为本发明实施例一提供的另一种Hadoop系统内节点数的调整方法的流程示意图;

图3为本发明实施例二提供的一种Hadoop系统内节点数的调整方法的流程示意图;

图4为本发明实施例三提供的一种Hadoop系统内节点数的调整装置的结构示意图;

图5为本发明实施例三提供的另一种Hadoop系统内节点数的调整装置的结构示意图;

图6为本发明实施例四供的一种Hadoop系统内节点数的调整装置的结构示意图;

图7为本发明实施例三提供的另一种Hadoop系统内节点数的调整装置的结构示意图;

图8为本发明实施例四提供的一种Hadoop系统内节点数的调整系统的结构示意图。

具体实施方式

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

考虑到目前Hadoop系统中节点数不能动态调整造成的节点设备资源浪费或Hadoop系统内节点资源不足的技术问题,本发明提供了一种系统内节点数的调整方法和装置,可以根据集群当前的使用状态动态地调整系统集群内节点设备的数量,下面以对Hadoop系统内节点数为例来介绍本发明的调整方法和装置。应当理解的是:本实施例方法和装置不仅限于对Hadoop系统内的节点数进行动态调整,还可以对其他系统内的节点数据进行动态调整。

实施例一:

本实施例提供了一种Hadoop系统内节点数的调整方法,如图1所示,可以包括如下步骤:

步骤101:接收集群中各节点设备发送的自身当前的硬件使用状况信息,所述节点设备为已启动的节点设备。

本实施例中集群为Hadoop集群,在集群中的各节点设备需要采集自身的硬件使用状况信息,然后发送出去。在本实施例中Hadoop集群中的各节点设备均为已启动的节点设备,各节点设备在启动后均安装HDFS组件,以使得Hadoop可以进行数据访问等处理。

优先地,本实施例中硬件使用状态信息可以包括:设备当前磁盘空间使用率(即设备当前磁盘空间使用百分比)、设备当前CPU使用率(及设备当前CPU使用百分比)和设备当前内存使用率(即设备当前内存使用百分比)的至少一种。

在本实施例中接收节点设备发送的硬件使用状况信息的方法可以为多种,例如可以通过网络接收,具体地通过TCP/IP(传输控制协议/因特网互联协议)方式与节点设备通讯接收节点设备采集到的硬件使用状况信息。

步骤102:根据接收到的硬件使用信息获取用于描述所述集群当前使用状态的指标信息。

具体地,本实施例中可以对各节点上发送的硬件使用状况信息进行计算得 到描述所述集群当前使用状态的指标信息。本实施例中集群是由节点设备组成的集合,因此,本实施例中描述集群当前使用状态的指示信息可以由集群中设备的硬件使用信息来获取,该指示信息可以与集群中节点设备的硬件使用状况信息对应,例如当指标信息为集群内总磁盘空间使用率时,那个集群内的节点设备采集的硬件使用状况信息可以包括该设备磁盘空间使用率。

优先地,本实施例中指标信息可以包括:集群内总磁盘空间使用率(即集群内总磁盘空间使用百分比)、集群内设备平均CPU使用率(集群内设备平均CPU使用百分比)和集群内设备平均内存使用率(集群内设备平均内存百分比)中的至少一种。

步骤103:根据所述指标信息调整所述集群内已启动的节点设备的数量。

本实施例方法根据所述指标信息可以减少或增加集群内已启动的节点设备的数量;本实施例中调整集群内节点设备已启动的节点设备的数量可简称为调整集群内节点设备的数量,因此,本文所述的调整(例如增加或者减少)集群内节点设备的数量均指的是调整(例如增加或者减少)集群内已启动的节点设备的数量。

本实施例方法可以根据指标信息来判断集群的设备资源使用率是过高还是否过低,

若所述集群内设备资源使用率过低,则减少所述集群内已启动的节点设备的数量;

若所述集群内设备资源使用率过高,则增加所述集群内已启动的节点设备的数量。

优先地,当本实施例中指标信息包括至少一个指标时,本实施例中根据所述指标信息判断所述集群的设备资源使用率是过高还是过低的步骤包括:

将每项指标的值与各自对应的预设下限阈值和各自对应的预设上限阈值进行比较;

根据比较结果判断所述集群的设备资源使用率是过高还是过低。

具体地,所述根据比较结果判断所述集群的设备资源使用率是过高还是过低的步骤包括:

当存在至少一项指标的值在预设时间段内持续小于各自对应的预设下限阈值时,则判定所述集群的设备资源使用率过低;

当存在至少一项指标的值在预设时间段内持续大于各自对应的预设上行阈值时,则判定所述集群的设备资源使用率过高。

本实施例方法可以当指标对应的指标值在预设时间段内持续小于对应的预设下限阈值时,则判定所述集群的设备资源使用率过低;例如集群内设备平均CPU使用率在1分钟内持续大于预设上行阈值,则判定所述集群的设备资源使用率过低。

当所述指标对应的指值在预设时间段内持续大于对应的预设上行阈值时,则判定所述集群的设备资源使用率过高。例如集群内设备平均CPU使用率在1分钟内持续大于预设上行阈值,判定所述集群的设备资源使用率过高。

当然本实施例方法也可以不考虑时间因素,在将每项指标的值与各自对应的预设下限阈值和各自对应的预设上限阈值进行比较之后,如果存在至少一项指标的值小于各自对应的预设下限阈值时,则判定所述集群的设备资源使用率过低;如果存在至少一项指标的值大于各自对应的预设上行阈值时,则判定所述集群的设备资源使用率过高。

在指标信息包括:多个指标时,例如包括:集群内总磁盘空间使用率(即集群内总磁盘空间使用百分比)、集群内设备平均CPU使用率(集群内设备平均CPU使用百分比)和集群内设备平均内存使用率;可以将各个指标的值与各自对应的预设下限阈值进行比较;如果至少一个指标的值小于各自对应的预设下限 阈值时(例如集群内总磁盘空间使用率小于预设下限阈值和/或集群内设备平均内存使用流率小于预设下限阈值时),则判定集群的设备资源使用率过低,此时存在资源浪费的情况,需要减少集群内的节点设备减少资源浪费;如果至少一个指标的值大于预设的上限阈值时(例如集群内总磁盘空间使用率大于预设上限阈值和/或集群内设备平均内存使用流率大于预设上限阈值时),则判定所述集群的设备资源使用率过高,此时存在设备资源不足的风险,需要增加集群内的节点设备。

本实施例中在指标信息包括多个指标时,可以预先设置一个统一的下限阈值和上限阈值,当然,也可以对应不同指标设置不同的上下限阈值。

在本实施例中增加所述集群内节点设备的数量的优先方式包括:控制未启动的节点设备启动并加入所述集群以增加所述集群内节点设备的数量。本实施例可以通过未启动的节点设备的IPMI控制所述未启动的节点设备启动并加入所述集群以增加所述集群内节点设备的数量。本实施例中未启动的节点设备可以为集群内未启动的节点设备也可以为集群外未启动的节点设备。

在本实施例中减少所述集群内节点设备的数量的优先方式包括:控制所述集群内已启动的节点设备关闭以减少所述集群内节点设备的数量。具体地,通过所述集群内已启动的节点设备的IPMI(智能平台管理接口)控制所述已启动的节点设备关闭以减少所述集群内节点设备的数量。

本实施例的调整方法可以根据集群当前的使用状态动态地调整Hadoop集群内节点设备的数量,当集合的设备资源使用率过高时,在集群中增加节点设备,避免Hadoop系统内节点资源不足,当集合的设备资源使用率过低时,减少集群中的节点设备避免不需要的设备资源浪费。

根据上述的描述,本实施例的Hadoop系统内节点数的调整方法,如图2所 示,可以包括如下步骤:

步骤201:接收集群中各节点设备发送的自身当前的硬件使用状况信息,所述节点设备为已启动的节点设备。

具体地,可以接收节点设备通过JMX框架方式传输的的硬件使用状况信息,此时接收到的信息为JMX信息。本实施例方法可以通过多种方式接收节点设备传输的硬件使用状况信息,例如通过以网络来接收JMX信息,那么为获取硬件使用状况信息,首先需要安装网络协议对接收到JMX信息进行处理(解析、CRC校验、计算、处理等)例如还原为原始的硬件使用状况信息。

另外,考虑到发送数据的设备可能众多,为了保证处理数据的实时性,系统会使用多线程技术,保证数据能够被快速处理,防止缓冲区堆满溢出、丢失数据,从而达到实时处理的要求。

步骤202:根据接收到的硬件使用状况信息获取用于描述所述集群当前使用状态的指标信息,所述指标信息包括至少一个指标。

例如,当集群内节点设备发送的硬件使用状况信息包括:设备磁盘空间使用率、设备当前CPU使用率和设备当前内存使用率时;

本步骤可以根据硬件使用状况信息计算出用于描述所述集群当前使用状态的指标信息,具体包括:集群内总磁盘空间使用率、集群内设备平均CPU使用率和集群内设备平均内存使用率。

步骤203:将每项指标的值与各自对应的预设下限阈值和各自对应的预设上限阈值进行比较。

步骤204:根据比较结果判断所述集群的设备资源使用率是过高还是过低,若过高,执行步骤205,若过低,则执行步骤206。

例如,本步骤可以根据集群内总磁盘空间使用率、集群内设备平均CPU使用率和集群内设备平均内存使用率来判断所述集群的设备资源使用率是过高还是过低。

具体地,以所有指标均采用同一个的预设范围为例,将每个指标与预设范围中的上限阈值和下限阈值进行比较;当存在至少一个指标的值大于上限阈值时,则判断设备资源使用率过高,当存在指标的值小于下限阈值时,则判断设备资源使用率过低。

为更精确地判断资源过高还是过低,本步骤可以将每个指标与预设范围中的上限阈值和下限阈值进行比较,当存在至少一个指标的值在预设时间段内持续大于上限阈值时,则判定设备资源使用率过高,当存在至少一个指标的值在预设时间段内持续小于下限阈值时,则判定设备资源使用率过低。

步骤205:通过未启动的节点设备的IPMI控制所述未启动的节点设备启动并加入所述集群以增加所述集群内已启动的节点设备的数量。

本实施例方法中具体增加节点设备的数量可以为一个或者多个,增加的数量可以预先设置,例如默认增加一个或者根据指示信息来确定。

本步骤具体可以:向所述未启动的节点设备的IPMI发送开机指令以使未启动的节点设备启动并加入所述集群从而增加集群内节点设备的数量。

在判断集群的设备资源过高时,需要增加集群内的节点设备的数量,因此,本实施例可以读取未启动的DataNode节点的IPMI地址列表,选择预设数量节点设备的IPMI地址,通过http方式向对应的设备发送开机命令,等待此节点设备启动后,记录此设备的状态:将此节点从未启动的DataNode节点列表移动至已启动节点列表;未启动的设备通过IPMI接收到开机命令,将开机命令传递给节点设备中的BMC(基板管理控制器)组件即可启动,未启动的节点设备自动启动并安装HDFS组件,节点设备启动后根据系统开机启动项的配置,已经安装完成的HDFS组件会随操作系统启动并加入集群,从而扩容了Hadoop环境,通过自动增加节点设备解决因原环境使用资源不足的问题。

步骤206:通过所述集群内已启动的节点设备的IPMI控制所述已启动的节 点设备关闭以减少所述集群内已启动的节点设备的数量。

本实施例方法中具体减少节点设备的数量可为一个或多个,减少的数量可以预先设置,例如默认减少一个节点设备或者根据指示信息来确定。

本步骤具体可以为:向所述集群内已启动的节点设备的IPMI发送关机指令以使所述已启动的节点设备关闭。

在判断集群的设备资源使用率过低时,需要减少集群内的节点设备的数量,因此,本实施例可以读取已启动的DataNode节点的IPMI地址列表,选择预定数量的节点设备的IPMI地址,通过http方式向该设备发送关机命令,将关机命令传递给节点设备中的BMC组件即实现关机;等待此节点设备关闭后,记录此设备的状态:将此节点从已启动的DataNode节点列表移动至未启动节点列表;通过IPMI将设备关闭后,即将此节点从Hadoop环境中暂时移除,从而解决环境使用节点资源浪费的问题。

本实施例方法基于IPMI来自动增减Hadoop系统中节点数的方法,由各个集群内节点中的采集器获取各自节点的性能数据,通过JMX框架上报至系统中,由系统将这些信息进行整合分析,根据分析的结果通过IPMI控制目标设备的启动或停止,从而达到动态自动调整集群内设备数量的目的。

实施例二:

如图3所示,本实施例提供了一种Hadoop系统内节点数的调整方法,应用于Hadoop系统集群中的节点设备,包括如下步骤:

步骤301:在所述节点设备启动后,采集所述节点设备自身的硬件使用状况信息。

本实施例方法在集群中节点设备启动后,可以采集节点设备的硬件使用状 况信息,例如包括:设备磁盘空间使用率、设备当前CPU使用率和设备当前内存使用率的至少一种。

优先地,还可以对采集到的硬件使用状况信息建立数据转换表,基于该数据转换表对硬件使用状况信息进行处理,形成数据表。

步骤302:将采集到的硬件使用状况信息发送给出去,以供接收端根据硬件使用状况信息获取用于描述所述集群当前使用状态的指标信息,然后根据所述指标信息调整所述集群内已启动的节点设备的数量。

具体地,本步骤可以通过所述Hadoop系统使用的JMX框架将采集到的硬件使用状况信息发送给出去。优先地,可以通过网络例如TCP/IP方式将JMX信息发送出去。

在实际操作中可以在开源的Hadoop框架中添加功能,使得HDFS组件可以执行步骤301和302。

应用本实施例的方法可以采集设备的硬件使用状况信息以供管理端对集群内节点设备的数量进行动态调整,解决目前Hadoop系统中节点数不能动态调整造成的节点设备资源浪费或Hadoop系统内节点设备资源不足的技术问题。

优先地,本实施例方法还可以包括:通过IPMI接收关机指令,在接收所述关机指令后关闭。在对集群内节点设备数量进行减少数,可以通过IPMI接收关机指令,然后将该关机指令传递给节点设备内的BMC组件,通过BMC组件实现关机。

实施例三:

如图4所示,本实施例提供了一种Hadoop系统内节点数的调整装置,包括:接收模块401、分析模块402和处理模块403;

所述接收模块401,用于接收集群中各节点设备发送的自身当前的硬件使用状况信息,所述节点设备为已启动的节点设备;

所述分析模块402,用于根据接收到的硬件使用状况信息获取用于描述所述集群当前使用状态的指标信息;

所述处理模块403,用于根据所述指标信息调整所述集群内已启动的节点设备的数量。

优先地,如图5所示,本实施例中处理模块403包括:判断模块4031和调整模块4032;

所述判断模块4031,用于根据所述指标信息判断所述集群的设备资源使用率是过高还是过低;

所述调整模块4032,用于:

在所述判断模块4031判断所述集群的设备资源使用率过低时,控制所述集群内已启动的节点设备关闭以减少所述集群内已启动的节点设备的数量;

在所述判断模块4031判断所述集群的设备资源使用率过高时,控制未启动的节点设备启动并加入所述集群以增加所述集群内已启动的节点设备的数量。

优先地,所述调整模块4032,用于:

通过未启动的节点设备的IPMI控制所述未启动的节点设备启动并加入所述集群以增加所述集群内已启动的节点设备的数量;

通过所述集群内已启动的节点设备的IPMI控制所述已启动的节点设备关闭以减少所述集群内已启动的节点设备的数量。

本发明的调整装置可以根据集群当前的使用状态动态地调整Hadoop集群内节点设备的数量,满足集群对节点设备资源的要求,从而可以提高Hadoop系统内节点设备的利用率减少不需要的资源浪费,以及解决Hadoop系统内节点设备资源不足的技术问题。

实施例四:

如图6所示,本实施例提供了一种Hadoop系统内节点数的调整装置,所述调整装置应用于Hadoop系统集群中的节点设备,包括:采集模块601和发送模块602;

所述采集模块601,用于在所述节点设备启动后,采集所述节点设备自身的硬件使用状况信息;

所述发送模块602,用于将采集到的硬件使用状况信息发送给出去,以供接收端根据硬件使用状况信息获取用于描述所述集群当前使用状态的指标信息,然后根据所述指标信息调整所述集群内已启动的节点设备的数量。

优先地,本实施例发送模块602,用于通过所述Hadoop系统使用的JMX框架将采集到的硬件使用状况信息发送给出去。

优先地,如图7所示,本实施例的调整装置还包括:IPMI603和控制模块604;

所述IPMI603,用于接收外部传输的关机指令并将所述关机指令传输给所述控制模块;

所述控制模块604,用于在接收到所述关机指令后关闭所述节点设备。

本实施例调整装置可以采集设备的硬件使用状况信息以供管理端对集群内节点设备的数量进行动态调整,解决目前Hadoop系统中节点数不能动态调整造成的节点设备资源浪费或Hadoop系统内节点设备资源不足的技术问题。

实施例五:

如图8所示,本实施例提供了一种Hadoop系统内节点数的调整系统,包括:多个未启动的第一节点设备80、位于Hadoop系统集群内多个已启动的第二节点 设备81和节点管理装置82;

其中第一节点设备80设有IPMI 801,第二节点设备81设有IPMI 811、采集模块812和发送模块813;

所述节点管理装置82包括:接收模块821、分析模块822和处理模块823;

第二节点设备81中的采集模块812,用于采集该模块所在的节点设备的硬件使用状况数据;

所述第二节点设备81中的采集模块812具体地用于对采集到的基本数据建立数据转换表,基于所述的数据转换表对主机的状态数据进行处理,形成数据表,经由JMX方式上报给系统。所述数据用于描述该主机节点的硬件使用状况,主要包括主机总磁盘空间、主机已使用磁盘空间、当前CPU使用百分比、当前内存使用百分比等;然后将所述数据表通过发送模块发出。

第二节点设备81中的发送模块813,用于将采集到的数据发送给节点管理装置82中的接收模块821,具体地,可以通过JMX框架发送给接收模块821;

所述节点管理装置82中的接收模块821,用于接收发送模块813上报的数据,例如数据表。接收模块负责数据表的采集和初步处理,其中具体过程包括两部分:原始数据的接收、原始数据的加工处理。例如其底层接口可以为网络接口,采用TCP/IP方式与节点设备的发送模块通讯。通过系统提供的接口,接收来自采集模块的原始数据,递交数据接收模块。数据接收模块要按照不同设备的协议对原始数据进行解析、CRC(循环冗余校验码)校验、计算、处理。处理完毕后递交给数据分析模块。考虑到发送数据的设备可能众多,为了保证处理数据的实时性,系统会使用多线程技术,保证数据能够被快速处理,防止缓冲区堆满溢出、丢失数据,从而达到实时处理的要求。

节点管理装置82中的分析模块822,用于整理由接收模块821传上来的性 能数据;基于采集模块发送的数据表,接收模块根据表中关键字提取对应类型的数据信息,并按照不同类型数据的不同规则,计算出可准确描述整个集群状态的指标信息,如集群内主机平均CPU使用百分比、集群内主机平均内存使用百分比、集群内总磁盘空间使用百分比等。并判断指标数据是否合理,所述具体判断步骤为:将得到的指标数据与所设定的阈值范围作对比,若当前指标数据处于正常的阈值范围内,则不进行额外操作,继续循环进行采集、接收等行为;若当前指标数据再正常阈值范围之外,则将结果传递给处理模块。

所述处理模块823,根据分析模块822得到的数据判断结果,若当前指标数据高于正常的阈值范围,则说明当前系统的资源使用率较高,存在资源不足的风险。若指标数据持续高于阈值并持续一段时间,则读取所有设备列表,查找到一台未启动的第一节点设备,并向其IPMI发送开机指令;由于IPMI可以把系统管理软件从系统的硬件平台管理任务中分离出来,并且把底层的服务器管理功能与高层软件分开,所以IPMI并不受操作系统管理方式的限制。IPMI通过指定通用、精简、基于消息的接口,将信息传输到设备的BMC组件,即可以实现远程开机的指令。第一节点设备根据系统开机启动项的配置,已经安装完成的Hadoop组件会随操作系统启动并加入集群,以此来增加集群中可用的系统资源。相反,若当前指标数据低于正常的阈值范围,则说明当前系统的资源使用率偏低,存在资源浪费的情况。若指标数据持续低于阈值并持续一段时间,则读取所有设备列表,查找到一台已启动的第二节点设备,并向其IPMI发送关机指令。通过设备的BMC组件,即可以实现远程关机的指令。

本实施例提出了基于IPMI来自动增减Hadoop系统中节点数的系统,由各个集群内节点中的采集模块获取各自节点的性能数据,上报至管理装置中,由管理装置根据结果通IPMI控制目标设备的启动或停止,从而达到动态自动调整集群内节点设备数量的目的。

以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

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