CN106155805A - 系统内节点数的调整方法和装置 - Google Patents
系统内节点数的调整方法和装置 Download PDFInfo
- Publication number
- CN106155805A CN106155805A CN201510173758.XA CN201510173758A CN106155805A CN 106155805 A CN106155805 A CN 106155805A CN 201510173758 A CN201510173758 A CN 201510173758A CN 106155805 A CN106155805 A CN 106155805A
- Authority
- CN
- China
- Prior art keywords
- cluster
- node device
- turned
- utilization rate
- described cluster
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种系统内节点数的调整方法和装置。本发明提供的系统内节点数的调整方法,包括:接收集群中各节点设备发送的自身当前的硬件使用状况信息;根据接收到的硬件使用信息获取用于描述所述集群当前使用状态的指标信息;根据所述指标信息调整所述集群内已启动的节点设备的数量;本发明的调整方法解决目前Hadoop系统中节点数不能动态调整造成的节点设备资源浪费或Hadoop系统内节点设备资源不足的技术问题。
Description
技术领域
本发明涉及分布式存储技术领域,尤其涉及一种系统内节点数的调整方法和装置。
背景技术
Hadoop是一个能够对大量数据进行分布式处理的开源软件框架。Hadoop的存储核心是分布式文件系统(HDFS)。HDFS适合运行在通用的硬件上,并需要部署在大量设备上,以此来支持大规模的数据集和高吞吐量的数据访问,并通过可以分布在不同设备上的多个副本数来实现高容错性。HDFS所部署的大量设备组成Hadoop集群。
然而,目前Hadoop系统中的节点数都是在使用初期即定义,并不能根据实际的数据量进行动态减少或增加,造成不必要的节点设备资源浪费或Hadoop系统内节点资源不足的技术问题。
发明内容
本发明要解决的主要技术问题是,提供一种系统内节点数的调整方法和装置,能够解决目前Hadoop系统中节点数不能动态调整造成的节点设备资源浪费或Hadoop系统内节点设备资源不足的技术问题。
为解决上述技术问题,本发明提供一种系统内节点数的调整方法,包括如下步骤:
接收集群中各节点设备发送的自身当前的硬件使用状况信息,所述节点设备为已启动的节点设备;
根据接收到的硬件使用状况信息获取用于描述所述集群当前使用状态的指标信息;
根据所述指标信息调整所述集群内已启动的节点设备的数量。
进一步地,所述根据所述指标信息调整所述集群内已启动的节点设备的数量的步骤包括:
根据所述指标信息判断所述集群的设备资源使用率是过高还是过低,
若所述集群的设备资源使用率过低,则减少所述集群内已启动的节点设备的数量;
若所述集群的设备资源使用率过高,则增加所述集群内已启动的节点设备的数量。
进一步地,所述增加所述集群内已启动的节点设备的数量的步骤包括:
控制未启动的节点设备启动并加入所述集群以增加所述集群内已启动的节点设备的数量;
所述减少所述集群内已启动的节点设备的数量的步骤包括:
控制所述集群内已启动的节点设备关闭以减少所述集群内已启动的节点设备的数量。
进一步地,所述控制未启动的节点设备启动并加入所述集群以增加所述集群内已启动的节点设备的数量的步骤包括:
通过未启动的节点设备的IPMI(Intelligent Platform ManagementInterface,智能管理平台接口)控制所述未启动的节点设备启动并加入所述集群以增加所述集群内已启动的节点设备的数量;
所述控制所述集群内已启动的节点设备关闭以减少所述集群内节点设备的数量的步骤包括:
通过所述集群内已启动的节点设备的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控制目标设备的启动或停止,从而达到动态自动调整集群内节点设备数量的目的。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (16)
1.一种系统内节点数的调整方法,其特征在于,包括如下步骤:
接收集群中各节点设备发送的自身当前的硬件使用状况信息,所述节点设备为已启动的节点设备;
根据接收到的硬件使用状况信息获取用于描述所述集群当前使用状态的指标信息;
根据所述指标信息调整所述集群内已启动的节点设备的数量。
2.如权利要求1所述的方法,其特征在于,所述根据所述指标信息调整所述集群内已启动的节点设备的数量的步骤包括:
根据所述指标信息判断所述集群的设备资源使用率是过高还是过低,
若所述集群的设备资源使用率过低,则减少所述集群内已启动的节点设备的数量;
若所述集群的设备资源使用率过高,则增加所述集群内已启动的节点设备的数量。
3.如权利要求2所述的方法,其特征在于,所述增加所述集群内已启动的节点设备的数量的步骤包括:
控制未启动的节点设备启动并加入所述集群以增加所述集群内已启动的节点设备的数量;
所述减少所述集群内已启动的节点设备的数量的步骤包括:
控制所述集群内已启动的节点设备关闭以减少所述集群内已启动的节点设备的数量。
4.如权利要求3所述的方法,其特征在于,所述控制未启动的节点设备启动并加入所述集群以增加所述集群内已启动的节点设备的数量的步骤包括:
通过未启动的节点设备的智能管理平台接口IPMI控制所述未启动的节点设备启动并加入所述集群以增加所述集群内已启动的节点设备的数量;
所述控制所述集群内已启动的节点设备关闭以减少所述集群内节点设备的数量的步骤包括:
通过所述集群内已启动的节点设备的IPMI控制所述已启动的节点设备关闭以减少所述集群内已启动的节点设备的数量。
5.如权利要求4所述的方法,其特征在于,所述通过未启动的节点设备的IPMI控制所述未启动的节点设备启动并加入所述集群的步骤包括:
向所述未启动的节点设备的IPMI发送开机指令以使未启动的节点设备启动并加入所述集群;
所述通过所述集群内已启动的节点设备的IPMI控制所述已启动的节点设备关闭的步骤包括:
向所述集群内已启动的节点设备的IPMI发送关机指令以使所述已启动的节点设备关闭。
6.如权利要求2所述的方法,其特征在于,所述指标信息包括至少一个指标,所述根据所述指标信息判断所述集群的设备资源使用率是过高还是过低的步骤包括:
将每项指标的值与各自对应的预设下限阈值和各自对应的预设上限阈值进行比较;
根据比较结果判断所述集群的设备资源使用率是过高还是过低。
7.如权利要求6所述的方法,其特征在于,所述根据比较结果判断所述集群的设备资源使用率是过高还是过低的步骤包括:
当存在至少一项指标的值在预设时间段内持续小于各自对应的预设下限阈值时,则判定所述集群的设备资源使用率过低;
当存在至少一项指标的值在预设时间段内持续大于各自对应的预设上行阈值时,则判定所述集群的设备资源使用率过高。
8.如权利要求1-7任一项所述的方法,其特征在于,所述硬件使用状况信息包括:设备磁盘空间使用率、设备当前CPU使用率和设备当前内存使用率的至少一种;
对应地所述指示信息包括:集群内总磁盘空间使用率、集群内设备平均CPU使用率和集群内设备平均内存使用率中的至少一种。
9.一种系统内节点数的调整方法,其特征在于,所述方法应用于所述系统集群中的节点设备,包括如下步骤:
在所述节点设备启动后,采集所述节点设备自身的硬件使用状况信息;
将采集到的硬件使用状况信息发送给出去,以供接收端根据硬件使用状况信息获取用于描述所述集群当前使用状态的指标信息,然后根据所述指标信息调整所述集群内已启动的节点设备的数量。
10.如权利要求9所述的方法,其特征在于,所述将采集到的硬件使用状况信息发送给出去的步骤包括:
通过所述系统使用的Java管理扩展JMX框架将采集到的硬件使用状况信息发送给出去。
11.如权利要求9或10所述的方法,其特征在于,所述方法还包括:
通过IPMI接收关机指令,在接收所述关机指令后关闭所述节点设备。
12.一种系统内节点数的调整装置,其特征在于,包括:接收模块、分析模块和处理模块;
所述接收模块,用于接收集群中各节点设备发送的自身当前的硬件使用状况信息,所述节点设备为已启动的节点设备;
所述分析模块,用于根据接收到的硬件使用状况信息获取用于描述所述集群当前使用状态的指标信息;
所述处理模块,用于根据所述指标信息调整所述集群内已启动的节点设备的数量。
13.如权利要求12所述的调整装置,其特征在于,所述处理模块包括:判断模块和调整模块;
所述判断模块,用于根据所述指标信息判断所述集群的设备资源使用率是过高还是过低;
所述调整模块,用于:
在所述判断模块判断所述集群的设备资源使用率过低时,控制所述集群内已启动的节点设备关闭以减少所述集群内已启动的节点设备的数量;
在所述判断模块判断所述集群的设备资源使用率过高时,控制未启动的节点设备启动并加入所述集群以增加所述集群内已启动的节点设备的数量。
14.如权利要求13所述的调整装置,其特征在于,所述调整模块,用于:
通过未启动的节点设备的IPMI控制所述未启动的节点设备启动并加入所述集群以增加所述集群内已启动的节点设备的数量;
通过所述集群内已启动的节点设备的IPMI控制所述已启动的节点设备关闭以减少所述集群内已启动的节点设备的数量。
15.一种系统内节点数的调整装置,其特征在于,所述调整装置应用于系统集群中的节点设备,包括:采集模块和发送模块;
所述采集模块,用于在所述节点设备启动后,采集所述节点设备自身的硬件使用状况信息;
所述发送模块,用于将采集到的硬件使用状况信息发送给出去,以供接收端根据硬件使用状况信息获取用于描述所述集群当前使用状态的指标信息,然后根据所述指标信息调整所述集群内已启动的节点设备的数量。
16.如权利要求15所述的调整装置,其特征在于,还包括:智能管理平台接口IPMI和控制模块;
所述IPMI,用于接收外部传输的关机指令并将所述关机指令传输给所述控制模块;
所述控制模块,用于在接收到所述关机指令后关闭所述节点设备。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510173758.XA CN106155805A (zh) | 2015-04-14 | 2015-04-14 | 系统内节点数的调整方法和装置 |
PCT/CN2015/086049 WO2016165242A1 (zh) | 2015-04-14 | 2015-08-04 | 系统内节点数的调整方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510173758.XA CN106155805A (zh) | 2015-04-14 | 2015-04-14 | 系统内节点数的调整方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106155805A true CN106155805A (zh) | 2016-11-23 |
Family
ID=57125660
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510173758.XA Withdrawn CN106155805A (zh) | 2015-04-14 | 2015-04-14 | 系统内节点数的调整方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN106155805A (zh) |
WO (1) | WO2016165242A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062508A (zh) * | 2018-07-19 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种数据处理的方法及装置 |
CN109767341A (zh) * | 2018-12-13 | 2019-05-17 | 平安医疗健康管理股份有限公司 | 一种业务请求处理方法、处理装置和终端 |
CN109800079A (zh) * | 2018-12-13 | 2019-05-24 | 平安医疗健康管理股份有限公司 | 医保系统中的节点调整方法及相关装置 |
CN111147565A (zh) * | 2019-12-22 | 2020-05-12 | 北京浪潮数据技术有限公司 | 一种集群节点控制方法、装置、设备及可读存储介质 |
CN112235383A (zh) * | 2020-10-09 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 容器服务集群节点调度方法及装置、服务器、存储介质 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414274A (zh) * | 2019-01-04 | 2020-07-14 | 营邦企业股份有限公司 | 运用于数据中心的机柜异常状态的远端排除方法 |
CN110445725B (zh) * | 2019-07-08 | 2022-07-26 | 福建天泉教育科技有限公司 | 新加入负载节点分流的方法、存储介质 |
CN110932935A (zh) * | 2019-11-26 | 2020-03-27 | 深圳前海微众银行股份有限公司 | 资源控制方法、装置、设备及计算机存储介质 |
CN114584986B (zh) * | 2020-12-01 | 2024-04-09 | 中国联合网络通信集团有限公司 | 资源调度的方法和装置 |
CN114124969A (zh) * | 2021-11-25 | 2022-03-01 | 广州市昊链信息科技股份有限公司 | 一种数据复制方法、装置、设备以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020087693A1 (en) * | 2000-12-29 | 2002-07-04 | Marshall Donald Brent | Method and system for distributing service functionality |
CN101772140A (zh) * | 2009-12-25 | 2010-07-07 | 中兴通讯股份有限公司 | 一种自适应节能方法及具备该功能的业务系统 |
US20130086268A1 (en) * | 2011-09-29 | 2013-04-04 | International Business Machines Corporation | Automated high resiliency system pool |
CN103188277A (zh) * | 2011-12-27 | 2013-07-03 | 中国电信股份有限公司 | 负载能耗管理系统、方法和服务器 |
CN103906207A (zh) * | 2014-03-03 | 2014-07-02 | 东南大学 | 基于自适应按需唤醒技术的无线传感器网络数据传输方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102143563A (zh) * | 2010-07-30 | 2011-08-03 | 华为技术有限公司 | 一种短信中心集群的控制方法、设备及系统 |
US9183016B2 (en) * | 2013-02-27 | 2015-11-10 | Vmware, Inc. | Adaptive task scheduling of Hadoop in a virtualized environment |
CN103561428B (zh) * | 2013-10-10 | 2017-02-01 | 东软集团股份有限公司 | 短信网关集群系统中的节点弹性分配方法及系统 |
CN103713935B (zh) * | 2013-12-04 | 2017-05-03 | 中国科学院深圳先进技术研究院 | 一种在线管理Hadoop集群资源的方法和装置 |
-
2015
- 2015-04-14 CN CN201510173758.XA patent/CN106155805A/zh not_active Withdrawn
- 2015-08-04 WO PCT/CN2015/086049 patent/WO2016165242A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020087693A1 (en) * | 2000-12-29 | 2002-07-04 | Marshall Donald Brent | Method and system for distributing service functionality |
CN101772140A (zh) * | 2009-12-25 | 2010-07-07 | 中兴通讯股份有限公司 | 一种自适应节能方法及具备该功能的业务系统 |
US20130086268A1 (en) * | 2011-09-29 | 2013-04-04 | International Business Machines Corporation | Automated high resiliency system pool |
CN103188277A (zh) * | 2011-12-27 | 2013-07-03 | 中国电信股份有限公司 | 负载能耗管理系统、方法和服务器 |
CN103906207A (zh) * | 2014-03-03 | 2014-07-02 | 东南大学 | 基于自适应按需唤醒技术的无线传感器网络数据传输方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062508A (zh) * | 2018-07-19 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种数据处理的方法及装置 |
CN109767341A (zh) * | 2018-12-13 | 2019-05-17 | 平安医疗健康管理股份有限公司 | 一种业务请求处理方法、处理装置和终端 |
CN109800079A (zh) * | 2018-12-13 | 2019-05-24 | 平安医疗健康管理股份有限公司 | 医保系统中的节点调整方法及相关装置 |
CN109800079B (zh) * | 2018-12-13 | 2023-03-31 | 深圳平安医疗健康科技服务有限公司 | 医保系统中的节点调整方法及相关装置 |
CN109767341B (zh) * | 2018-12-13 | 2024-04-16 | 深圳平安医疗健康科技服务有限公司 | 一种业务请求处理方法、处理装置和终端 |
CN111147565A (zh) * | 2019-12-22 | 2020-05-12 | 北京浪潮数据技术有限公司 | 一种集群节点控制方法、装置、设备及可读存储介质 |
CN112235383A (zh) * | 2020-10-09 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 容器服务集群节点调度方法及装置、服务器、存储介质 |
CN112235383B (zh) * | 2020-10-09 | 2024-03-22 | 腾讯科技(深圳)有限公司 | 容器服务集群节点调度方法及装置、服务器、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2016165242A1 (zh) | 2016-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106155805A (zh) | 系统内节点数的调整方法和装置 | |
CN103236949B (zh) | 一种服务器集群的监控方法、装置与系统 | |
WO2020125521A1 (zh) | 控制网络拥塞的方法、装置及系统 | |
CN105554102A (zh) | 基于容器集群的弹性伸缩方法及其应用系统 | |
CN109672627A (zh) | 基于集群服务器的业务处理方法、平台、设备及存储介质 | |
CN104158699B (zh) | 一种基于优先级和分段的数据采集方法 | |
TW201528736A (zh) | 控制網路訪問接入量的方法及伺服器 | |
CN108174397A (zh) | 一种任务驱动的多网关协同方法 | |
CN111131401B (zh) | 一种服务请求的响应方法及系统 | |
CN101001177A (zh) | 用于高级负载均衡及故障排除功能性的单一逻辑网络接口 | |
KR102580332B1 (ko) | 서비스 별 네트워크 혼잡을 제어하는 방법 및 장치 | |
CN107222376B (zh) | 多协议运行控制装置和方法 | |
CN104767695B (zh) | 一种数据中心中的任务级别的流调度方法 | |
CN106341324B (zh) | Sdn和nfv融合网络动态建立sdn控制器的方法 | |
CN101132393A (zh) | 流媒体服务动态负载方法 | |
US20160036644A1 (en) | Loop-free hybrid network | |
CN105868021A (zh) | 一种任务分配的方法及装置 | |
CN106059942A (zh) | 一种sdn网络中基于负载预测的流量控制方法 | |
WO2017124708A1 (zh) | 一种隧道流量控制方法、装置和网络管理系统 | |
CN102811152A (zh) | 一种多主总线网络通讯实时交易数据交换实现方法 | |
CN108280018B (zh) | 一种节点工作流通信开销效率分析优化方法及系统 | |
CN103634223A (zh) | 一种基于网络业务流的动态控制传输方法和装置 | |
CN107306230B (zh) | 一种网络资源部署的方法、装置、控制器及核心网设备 | |
CN105049220A (zh) | 一种基于电视视频会议的mcu资源调度方法 | |
CN104038358A (zh) | 一种内容调度方法及内容调度装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20161123 |
|
WW01 | Invention patent application withdrawn after publication |