CN113127187A - 用于集群扩缩容的方法和装置 - Google Patents

用于集群扩缩容的方法和装置 Download PDF

Info

Publication number
CN113127187A
CN113127187A CN201911419060.6A CN201911419060A CN113127187A CN 113127187 A CN113127187 A CN 113127187A CN 201911419060 A CN201911419060 A CN 201911419060A CN 113127187 A CN113127187 A CN 113127187A
Authority
CN
China
Prior art keywords
rule
resources
cluster
time
type
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.)
Granted
Application number
CN201911419060.6A
Other languages
English (en)
Other versions
CN113127187B (zh
Inventor
王宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201911419060.6A priority Critical patent/CN113127187B/zh
Priority claimed from CN201911419060.6A external-priority patent/CN113127187B/zh
Publication of CN113127187A publication Critical patent/CN113127187A/zh
Application granted granted Critical
Publication of CN113127187B publication Critical patent/CN113127187B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开的实施例公开了用于集群扩缩容的方法和装置。该方法的一具体实施方式包括:响应于检测到集群的弹性伸缩功能已开启,获取预先设置的弹性伸缩的机器规模和机器类型;选择扩缩容的规则类型,其中,规则类型包括基于时间规律的时间规则类型或基于集群指标的指标规则类型;针对所选择的规则类型获取预先设置的规则内容并设置为生效状态,其中,规则内容包括触发条件和触发的操作;响应于检测到满足触发条件,执行相应触发的操作。该实施方式实现全自动的集群变更操作,在规则设定完成后,完全无需人工介入操作,进而释放人力运维成本,真正做到降本增效。

Description

用于集群扩缩容的方法和装置
技术领域
本公开的实施例涉及计算机技术领域,具体涉及用于集群扩缩容的方法和装置。
背景技术
云计算大数据产品的重要价值之一就是资源的弹性伸缩以在满足业务计算需求的同时,降低成本支出。目前云计算大数据产品主流的资源伸缩方式为手动伸缩操作,即在业务负载增加时,手动扩充机器资源,在业务负载降低时,手动缩减机器资源。而这种手动操作的方式,不够灵活,需要人为的监控计算集群的指标负载情况,随时进行操作,带来了非常大的人力成本负担,且往往对业务负载变化时的响应不够及时。
1、对于资源的定时增加或减少的场景
很多使用场景下,业务会随着时间具有规律性的潮汐变化趋势,这就要求计算资源也能随着时间进行规律性的资源增加或减少操作,以更好的、弹性的、最小的成本满足业务的计算资源需求。当前情况下,需要运维操作人员设置相应的时间提醒,以在该时间点进行相应的操作。
2、对于资源根据集群资源的负载情况进行增加或减少的场景
除了上述随着时间具有规律性的业务变化场景,很多情况下,业务的规模是不可预期的。这个不可预期可能是实际业务产生时的不可预期,也可能是集群自身带来的不可预期,例如计算资源的突然宕机。当前情况下,需要时刻有运维操作人员监控集群指标的变化情况,或者需要对集群指标变化的报警做出非常及时(通常是分钟级)的操作反应。
对于上述无论是随时间具有规律性变化或根据集群资源的负载情况进行集群计算资源的弹性增加或减少均存在人力成本繁重且重复劳动,以及容易出现忘操作、误操作、响应不及时的情况。轻则造成计算资源的浪费,重则影响业务计算结果的输出时效及业务运营情况。
发明内容
本公开的实施例提出了用于集群扩缩容的方法和装置。
第一方面,本公开的实施例提供了一种用于集群扩缩容的方法,包括:响应于检测到集群的弹性伸缩功能已开启,获取预先设置的弹性伸缩的机器规模和机器类型;选择扩缩容的规则类型,其中,规则类型包括基于时间规律的时间规则类型或基于集群指标的指标规则类型;针对所选择的规则类型获取预先设置的规则内容并设置为生效状态,其中,规则内容包括触发条件和触发的操作;响应于检测到满足触发条件,执行相应触发的操作。
在一些实施例中,该方法还包括:若所选择的规则类型为指标规则类型,统计满足触发条件的时间;若满足触发条件的时间具有时间规律,则根据统计出的时间规律增加时间规则类型的规则内容并将规则类型切换到时间规则类型。
在一些实施例中,机器规模包括资源量上限和资源量下限;以及执行相应触发的操作,包括:根据触发的操作确定出待增加的资源数量;如果待增加的资源数量与已经使用的资源数量之和大于资源量上限,则将资源量上限减去已经使用的资源数量作为实际用于扩容的资源数量进行扩容。
在一些实施例中,执行相应触发的操作,还包括:根据触发的操作确定出待删除的资源数量;如果已经使用的资源数量与待删除的资源数量之差小于资源量下限,则将已经使用的资源数量减去资源量下限作为实际用于缩容的资源数量进行缩容。
在一些实施例中,该方法还包括:在扩容或缩容完成后的预定冷却时间内,不触发扩容或缩容。
在一些实施例中,机器类型包括以下至少一种:CPU、内存及磁盘存储规格。
在一些实施例中,集群指标包括yarn内存使用量和/或yarn等待中的任务数量。
第二方面,本公开的实施例提供了一种用于集群扩缩容的装置,包括:获取单元,被配置成响应于检测到集群的弹性伸缩功能已开启,获取预先设置的弹性伸缩的机器规模和机器类型;选择单元,被配置成选择扩缩容的规则类型,其中,规则类型包括基于时间规律的时间规则类型或基于集群指标的指标规则类型;设置单元,被配置成针对所选择的规则类型获取预先设置的规则内容并设置为生效状态,其中,规则内容包括触发条件和触发的操作;执行单元,被配置成响应于检测到满足触发条件,执行相应触发的操作。
在一些实施例中,该装置还包括切换单元,被配置成:若所选择的规则类型为指标规则类型,统计满足触发条件的时间;若满足触发条件的时间具有时间规律,则根据统计出的时间规律增加时间规则类型的规则内容并将规则类型切换到时间规则类型。
在一些实施例中,机器规模包括资源量上限和资源量下限;以及执行单元进一步被配置成:根据触发的操作确定出待增加的资源数量;如果待增加的资源数量与已经使用的资源数量之和大于资源量上限,则将资源量上限减去已经使用的资源数量作为实际用于扩容的资源数量进行扩容。
在一些实施例中,执行单元进一步被配置成:根据触发的操作确定出待删除的资源数量;如果已经使用的资源数量与待删除的资源数量之差小于资源量下限,则将已经使用的资源数量减去资源量下限作为实际用于缩容的资源数量进行缩容。
在一些实施例中,该装置还包括冷却单元,被配置成:在扩容或缩容完成后的预定冷却时间内,不触发扩容或缩容。
在一些实施例中,机器类型包括以下至少一种:CPU、内存及磁盘存储规格。
在一些实施例中,集群指标包括yarn内存使用量和/或yarn等待中的任务数量。
第三方面,本公开的实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一的方法。
第四方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现如第一方面中任一的方法。
本公开的实施例提供的用于集群扩缩容的方法和装置,可通过指定时间或根据自动捕捉的多个实时集群负载指标情况进行资源的自动增加或减少,进而释放人力运维成本,并且更好的贴合满足业务的负载变化曲线,真正做到降本增效。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
图1是本公开的一个实施例可以应用于其中的示例性***架构图;
图2是根据本公开的用于集群扩缩容的方法的一个实施例的流程图;
图3是根据本公开的用于集群扩缩容的方法的一个应用场景的示意图;
图4是根据本公开的用于集群扩缩容的方法的又一个实施例的流程图;
图5是根据本公开的用于集群扩缩容的装置的一个实施例的结构示意图;
图6是适于用来实现本公开的实施例的电子设备的计算机***的结构示意图。
具体实施方式
下面结合附图和实施例对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。
图1示出了可以应用本申请的用于集群扩缩容的方法或用于集群扩缩容的装置的实施例的示例性***架构100。
如图1所示,***架构100可以包括物理机(相对于虚拟机而言的对实体计算机的称呼。物理机提供给虚拟机以硬件环境,有时也称为“寄主”或“宿主”)101、102、103,网络104和服务器105。网络104用以在物理机101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用物理机101、102、103通过网络104与服务器105交互,以接收或发送消息等。物理机101、102、103上可以安装有虚拟机,并接收服务器105的虚拟机调度指令。虚拟机(Virtual Machine,VM)是一种通过软件模拟的具有完整硬件***功能的、运行在一个完全隔离环境中的完整计算机***,现有的虚拟机所在的物理机一般分为三层,第一层为承载虚拟机***的硬件,虚拟机所在的CPU就处于这一层,第二层为构建在硬件之上虚拟机管理层(Virtual Machine Manager,VMM),用于对虚拟机进行管理,第三层为虚拟机本身,包括虚拟机的虚拟CPU及虚拟内存等。
物理机101、102、103可以是安装有虚拟机的平板电脑、膝上型便携计算机和台式计算机等等。物理机提供给虚拟机以硬件环境,有时也称为“寄主”或“宿主”。通过物理机和虚拟机的配合,一台计算机上可以安装上多个操作***(一个外界操作***和虚拟机中的数个操作***),并且几个操作***间还可以实现通信,就像是有多台计算机一样。
服务器105可以是提供各种服务的服务器,例如对物理机101、102、103上运行的虚拟机提供管理功能的虚拟机管理服务器。虚拟机管理服务器可以定时监控各个物理机和虚拟机的资源利用率,根据资源分布情况增加或减少虚拟机的数据,达到扩容或缩容的目的。
需要说明的是,本申请实施例所提供的用于集群扩缩容的方法一般由服务器105执行,相应地,用于集群扩缩容的装置一般设置于服务器105中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的用于集群扩缩容的方法的一个实施例的流程200。所述的用于集群扩缩容的方法,包括以下步骤:
步骤201,响应于检测到集群的弹性伸缩功能已开启,获取预先设置的弹性伸缩的机器规模和机器类型。
在本实施例中,用于集群扩缩容的方法的执行主体(例如图1所示的服务器)的检测到用户开启弹性伸缩功能后,加载用户预先设置的弹性伸缩的机器规模和机器类型。机器规模指的是所有操作的一个区间,例如,[2,20]指的是无论怎么触发规则,最少是2个虚拟机,最多是20个。机器类型指的是cpu、内存及磁盘存储规格中的至少一项。如下给所示:
Figure BDA0002351876510000061
步骤202,选择扩缩容的规则类型。
在本实施例中,规则类型包括基于时间规律的时间规则类型或基于集群指标的指标规则类型。可由用户指定使用那种扩缩容的规则,由服务器加载相应的配置。
步骤203,针对所选择的规则类型获取预先设置的规则内容并设置为生效状态。
在本实施例中,规则内容包括触发条件和触发的操作。
A、时间规则:可选按周期重复执行或指定时间点执行一次的执行方式;当选择按周期重复执行时可选择每天、每周、每月的重复周期;当选择重复周期为每天时,输入24小时制的时间点,即会在每天的该时间点执行弹性伸缩操作;当选择重复周期为每周时,可多选自然周的周几(周一、周二至周日等),并输入24小时制的时间点,即会在自然周的该天的该时间点执行弹性伸缩操作;当选择重复周期为每月时,可多选自然月的几号(1号、2号至31号等),并输入24小时制的时间点,即会在自然月的该天的该时间点执行弹性伸缩操作;输入该规则触发时的执行操作(增加若干个虚拟机节点或减少若干个虚拟机节点)。例如每天晚上12点缩容2台虚拟机,早7点扩容2台虚拟机。如果当前时间满足设置的定时任务的定时条件,则可触发定时扩容任务或定时缩容任务。定时任务的执行仍要满足***的机器规模(资源量上限和资源量下限)。
B、指标规则:选择监控的集群指标项(可通过大数据集群采集监控程序,监控大数据集群应用指标数据如yarn内存使用量、yarn等待中的任务数量等);选择针对该集群指标项数值的统计方式(如平均值、最大值、最小值等);选择针对该集群指标项数值的统计周期(5-20分钟可选);选择运算符号(>或<);输入针对该集群指标项数值的比较阈值;输入该规则触发时的执行操作(增加若干个虚拟机节点或减少若干个虚拟机节点)。
可选地,可针对不同业务类型配置伸缩组,在组内选择机器节点(虚拟机)进行扩缩容。
步骤204,响应于检测到满足触发条件,执行相应触发的操作。
在本实施例中,若当前选择的是时间规则类型,则在规则设置的时间点,根据之前所选择的机器节点类型触发弹性伸缩操作。若当前选择的是指标规则类型,则自动时刻监控规则对应的指标项,当满足指标规则设置的指标阈值时,根据之前所选择的机器节点类型触发弹性伸缩操作(两次弹性伸缩操作间的冷却时间为5分钟,在此5分钟内,即使满足规则生效条件,该规则也不会生效)。
规则设置完成后,可随时编辑修改规则内容,或改变规则生效状态(可选择让某条规则生效或失效)。
在本实施例的一些可选的实现方式中,可配置报警规则,在执行扩缩容操作的同时输出告警信息,提示用户进行了哪些操作。还可记录扩缩容日志。
在本实施例的一些可选的实现方式中,机器规模包括资源量上限和资源量下限;以及执行相应触发的操作,包括:根据触发的操作确定出待增加的资源数量;如果待增加的资源数量与已经使用的资源数量之和大于资源量上限,则将资源量上限减去已经使用的资源数量作为实际用于扩容的资源数量进行扩容。通过边界检查负责检查用户之前设置的机器规模的资源量上限和资源量下限,防止扩容导致资源过多,或者缩容导致资源过少的极端情况。
在本实施例的一些可选的实现方式中,执行相应触发的操作,还包括:根据触发的操作确定出待删除的资源数量;如果已经使用的资源数量与待删除的资源数量之差小于资源量下限,则将已经使用的资源数量减去资源量下限作为实际用于缩容的资源数量进行缩容。
在图3所示的应用场景中,可通过健康检查资源所在节点的状态是否存活、监控资源参数是否满足缩容、扩容阈值、定时任务来触发扩容、缩容。如果判断出扩容、缩容,则读取伸缩配置后执行伸缩程序。将扩容的资源的节点加入伸缩组中。将缩容的资源从伸缩组中删除。一次伸缩后在冷却时间之后才能更新监控信息重新执行下一次伸缩。还可进行健康检查,查看节点是否存活、集群是否被销毁等。如果某个节点不存活则要进行迁移。此外,还配置了报警规则,在执行扩缩容等增加或删除节点的操作时通知用户做了哪些操作。
进一步参考图4,其示出了用于集群扩缩容的方法的又一个实施例的流程400。该用于集群扩缩容的方法的流程400,包括以下步骤:
步骤401,响应于检测到集群的弹性伸缩功能已开启,获取预先设置的弹性伸缩的机器规模和机器类型。
步骤402,选择扩缩容的规则类型。
步骤403,针对所选择的规则类型获取预先设置的规则内容并设置为生效状态,其中,规则内容包括触发条件和触发的操作。
步骤404,响应于检测到满足触发条件,执行相应触发的操作。
步骤401-404与步骤201-204基本相同,因此不再赘述。
步骤405,若所选择的规则类型为指标规则类型,统计满足触发条件的时间。
在本实施例中,每次根据指标规则执行扩容或缩容时,记录满足触发条件的时间。
步骤406,若满足触发条件的时间具有时间规律,则根据统计出的时间规律增加时间规则类型的规则内容并将规则类型切换到时间规则类型。
在本实施例中,根据记录满足触发条件的时间统计一下是否有时间规律,例如,是否是每天固定时间扩容或缩容。如果找到时间规律,则可根据统计出的时间规律增加时间规则类型的规则内容并将规则类型切换到时间规则类型。这样可以减少监控导致的开销。
从图4中可以看出,与图2对应的实施例相比,本实施例中的用于集群扩缩容的方法的流程400体现了对扩缩容规则类型进行切换的步骤。由此,本实施例描述的方案可以自动统计出扩缩容的时间规律,从而实现更简便的操作以降低监控开销。
进一步参考图5,作为对上述各图所示方法的实现,本公开提供了一种用于集群扩缩容的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例的用于集群扩缩容的装置500包括:获取单元501、选择单元502、设置单元503和执行单元504。其中,获取单元501,被配置成响应于检测到集群的弹性伸缩功能已开启,获取预先设置的弹性伸缩的机器规模和机器类型;选择单元502,被配置成选择扩缩容的规则类型,其中,规则类型包括基于时间规律的时间规则类型或基于集群指标的指标规则类型;设置单元503,被配置成针对所选择的规则类型获取预先设置的规则内容并设置为生效状态,其中,规则内容包括触发条件和触发的操作;执行单元504,被配置成响应于检测到满足触发条件,执行相应触发的操作。
在本实施例中,用于集群扩缩容的装置500的获取单元501、选择单元502、设置单元503和执行单元504的具体处理可以参考图2对应实施例中的步骤201、步骤202、步骤203、步骤204。
在本实施例的一些可选的实现方式中,装置500还包括切换单元(附图中未示出),被配置成:若所选择的规则类型为指标规则类型,统计满足触发条件的时间;若满足触发条件的时间具有时间规律,则根据统计出的时间规律增加时间规则类型的规则内容并将规则类型切换到时间规则类型。
在本实施例的一些可选的实现方式中,机器规模包括资源量上限和资源量下限;以及执行单元504进一步被配置成:根据触发的操作确定出待增加的资源数量;如果待增加的资源数量与已经使用的资源数量之和大于资源量上限,则将资源量上限减去已经使用的资源数量作为实际用于扩容的资源数量进行扩容。
在本实施例的一些可选的实现方式中,执行单元504进一步被配置成:根据触发的操作确定出待删除的资源数量;如果已经使用的资源数量与待删除的资源数量之差小于资源量下限,则将已经使用的资源数量减去资源量下限作为实际用于缩容的资源数量进行缩容。
在本实施例的一些可选的实现方式中,装置500还包括冷却单元(附图中未示出),被配置成:在扩容或缩容完成后的预定冷却时间内,不触发扩容或缩容。
在本实施例的一些可选的实现方式中,机器类型包括以下至少一种:CPU、内存及磁盘存储规格。
在本实施例的一些可选的实现方式中,集群指标包括yarn内存使用量和/或yarn等待中的任务数量。
下面参考图6,其示出了适于用来实现本公开的实施例的电子设备(例如图1中的服务器)600的结构示意图。图6示出的服务器仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图6所示,电子设备600可以包括处理装置(例如中央处理器、图形处理器等)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储装置608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有电子设备600操作所需的各种程序和数据。处理装置601、ROM 602以及RAM603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
通常,以下装置可以连接至I/O接口605:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置606;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置607;包括例如磁带、硬盘等的存储装置608;以及通信装置609。通信装置609可以允许电子设备600与其他设备进行无线或有线通信以交换数据。虽然图6示出了具有各种装置的电子设备600,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图6中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置609从网络上被下载和安装,或者从存储装置608被安装,或者从ROM 602被安装。在该计算机程序被处理装置601执行时,执行本公开的实施例的方法中限定的上述功能。需要说明的是,本公开的实施例所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:响应于检测到集群的弹性伸缩功能已开启,获取预先设置的弹性伸缩的机器规模和机器类型;选择扩缩容的规则类型,其中,规则类型包括基于时间规律的时间规则类型或基于集群指标的指标规则类型;针对所选择的规则类型获取预先设置的规则内容并设置为生效状态,其中,规则内容包括触发条件和触发的操作;响应于检测到满足触发条件,执行相应触发的操作。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的实施例的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、选择单元、设置单元和执行单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“响应于检测到集群的弹性伸缩功能已开启,获取预先设置的弹性伸缩的机器规模和机器类型的单元”。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (16)

1.一种用于集群扩缩容的方法,包括:
响应于检测到集群的弹性伸缩功能已开启,获取预先设置的弹性伸缩的机器规模和机器类型;
选择扩缩容的规则类型,其中,所述规则类型包括基于时间规律的时间规则类型或基于集群指标的指标规则类型;
针对所选择的规则类型获取预先设置的规则内容并设置为生效状态,其中,所述规则内容包括触发条件和触发的操作;
响应于检测到满足触发条件,执行相应触发的操作。
2.根据权利要求1所述的方法,其中,所述方法还包括:
若所选择的规则类型为指标规则类型,统计满足触发条件的时间;
若满足触发条件的时间具有时间规律,则根据统计出的时间规律增加时间规则类型的规则内容并将规则类型切换到时间规则类型。
3.根据权利要求1所述的方法,其中,所述机器规模包括资源量上限和资源量下限;以及
所述执行相应触发的操作,包括:
根据所述触发的操作确定出待增加的资源数量;
如果待增加的资源数量与已经使用的资源数量之和大于所述资源量上限,则将所述资源量上限减去已经使用的资源数量作为实际用于扩容的资源数量进行扩容。
4.根据权利要求3所述的方法,其中,所述执行相应触发的操作,还包括:
根据所述触发的操作确定出待删除的资源数量;
如果已经使用的资源数量与待删除的资源数量之差小于所述资源量下限,则将已经使用的资源数量减去所述资源量下限作为实际用于缩容的资源数量进行缩容。
5.根据权利要求1所述的方法,其中,所述方法还包括:
在扩容或缩容完成后的预定冷却时间内,不触发扩容或缩容。
6.根据权利要求1-5之一所述的方法,其中,所述机器类型包括以下至少一种:CPU、内存及磁盘存储规格。
7.根据权利要求1-5之一所述的方法,其中,所述集群指标包括yarn内存使用量和/或yarn等待中的任务数量。
8.一种用于集群扩缩容的装置,包括:
获取单元,被配置成响应于检测到集群的弹性伸缩功能已开启,获取预先设置的弹性伸缩的机器规模和机器类型;
选择单元,被配置成选择扩缩容的规则类型,其中,所述规则类型包括基于时间规律的时间规则类型或基于集群指标的指标规则类型;
设置单元,被配置成针对所选择的规则类型获取预先设置的规则内容并设置为生效状态,其中,所述规则内容包括触发条件和触发的操作;
执行单元,被配置成响应于检测到满足触发条件,执行相应触发的操作。
9.根据权利要求8所述的装置,其中,所述装置还包括切换单元,被配置成:
若所选择的规则类型为指标规则类型,统计满足触发条件的时间;
若满足触发条件的时间具有时间规律,则根据统计出的时间规律增加时间规则类型的规则内容并将规则类型切换到时间规则类型。
10.根据权利要求8所述的装置,其中,所述机器规模包括资源量上限和资源量下限;以及
所述执行单元进一步被配置成:
根据所述触发的操作确定出待增加的资源数量;
如果待增加的资源数量与已经使用的资源数量之和大于所述资源量上限,则将所述资源量上限减去已经使用的资源数量作为实际用于扩容的资源数量进行扩容。
11.根据权利要求10所述的装置,其中,所述执行单元进一步被配置成:
根据所述触发的操作确定出待删除的资源数量;
如果已经使用的资源数量与待删除的资源数量之差小于所述资源量下限,则将已经使用的资源数量减去所述资源量下限作为实际用于缩容的资源数量进行缩容。
12.根据权利要求8所述的装置,其中,所述装置还包括冷却单元,被配置成:
在扩容或缩容完成后的预定冷却时间内,不触发扩容或缩容。
13.根据权利要求8-12之一所述的装置,其中,所述机器类型包括以下至少一种:CPU、内存及磁盘存储规格。
14.根据权利要求8-12之一所述的装置,其中,所述集群指标包括yarn内存使用量和/或yarn等待中的任务数量。
15.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
16.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN201911419060.6A 2019-12-31 用于集群扩缩容的方法和装置 Active CN113127187B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911419060.6A CN113127187B (zh) 2019-12-31 用于集群扩缩容的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911419060.6A CN113127187B (zh) 2019-12-31 用于集群扩缩容的方法和装置

Publications (2)

Publication Number Publication Date
CN113127187A true CN113127187A (zh) 2021-07-16
CN113127187B CN113127187B (zh) 2024-07-26

Family

ID=

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11258830B2 (en) * 2020-06-10 2022-02-22 Charter Communications Operating, Llc Method and framework for internet of things network security

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160294722A1 (en) * 2015-03-31 2016-10-06 Alcatel-Lucent Usa Inc. Method And Apparatus For Provisioning Resources Using Clustering
CN106293868A (zh) * 2015-05-15 2017-01-04 苏宁云商集团股份有限公司 一种云计算环境中虚拟机扩缩容方法及扩缩容***
CN106603618A (zh) * 2016-09-14 2017-04-26 浪潮电子信息产业股份有限公司 一种基于云平台的应用弹性伸缩方法
CN106686136A (zh) * 2017-02-24 2017-05-17 郑州云海信息技术有限公司 一种云资源的调度方法及装置
US20170195386A1 (en) * 2014-07-22 2017-07-06 Intellivision Technologies Corp. System and Method for Scalable Cloud Services
US20170339196A1 (en) * 2016-05-17 2017-11-23 Amazon Technologies, Inc. Versatile autoscaling
CN107608762A (zh) * 2017-09-26 2018-01-19 三盟科技股份有限公司 一种基于虚拟机性能实现业务动态伸缩的方法及***
WO2018072708A1 (zh) * 2016-10-21 2018-04-26 中兴通讯股份有限公司 一种云平台业务的缩容方法、装置及云平台

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170195386A1 (en) * 2014-07-22 2017-07-06 Intellivision Technologies Corp. System and Method for Scalable Cloud Services
US20160294722A1 (en) * 2015-03-31 2016-10-06 Alcatel-Lucent Usa Inc. Method And Apparatus For Provisioning Resources Using Clustering
CN106293868A (zh) * 2015-05-15 2017-01-04 苏宁云商集团股份有限公司 一种云计算环境中虚拟机扩缩容方法及扩缩容***
US20170339196A1 (en) * 2016-05-17 2017-11-23 Amazon Technologies, Inc. Versatile autoscaling
CN106603618A (zh) * 2016-09-14 2017-04-26 浪潮电子信息产业股份有限公司 一种基于云平台的应用弹性伸缩方法
WO2018072708A1 (zh) * 2016-10-21 2018-04-26 中兴通讯股份有限公司 一种云平台业务的缩容方法、装置及云平台
CN106686136A (zh) * 2017-02-24 2017-05-17 郑州云海信息技术有限公司 一种云资源的调度方法及装置
CN107608762A (zh) * 2017-09-26 2018-01-19 三盟科技股份有限公司 一种基于虚拟机性能实现业务动态伸缩的方法及***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张宝婷;芮建武;周鹏;武延军;: "基于CoreOS面向负载整合的集群调度研究", 计算机***应用, no. 11, 15 November 2017 (2017-11-15) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11258830B2 (en) * 2020-06-10 2022-02-22 Charter Communications Operating, Llc Method and framework for internet of things network security

Similar Documents

Publication Publication Date Title
US10523580B2 (en) Automatic cloud provisioning based on related internet news and social network trends
CN109840142B (zh) 基于云监控的线程控制方法、装置、电子设备及存储介质
CN109408205B (zh) 基于hadoop集群的任务调度方法和装置
US20200364086A1 (en) Redistributing Workloads Across Worker Nodes Based on Policy
CN108268211B (zh) 一种数据处理方法及装置
CN110213620B (zh) 带宽分配方法及装置
CN109840141B (zh) 基于云监控的线程控制方法、装置、电子设备及存储介质
CN109428926B (zh) 一种调度任务节点的方法和装置
CN115357350A (zh) 任务配置方法、装置、电子设备和计算机可读介质
CN114911617A (zh) 一种资源配置方法、装置、设备和介质
CN113127225A (zh) 一种数据处理任务的调度方法、装置和***
CN114153609A (zh) 资源控制方法及装置、电子设备、计算机可读存储介质
CN113760982A (zh) 一种数据处理方法和装置
CN116821187A (zh) 基于数据库的数据处理方法、装置、介质和电子设备
CN116842925A (zh) 作业模板的生成方法及装置
CN112817687A (zh) 一种数据同步方法和装置
CN113127187B (zh) 用于集群扩缩容的方法和装置
CN113127187A (zh) 用于集群扩缩容的方法和装置
CN110795194B (zh) 桌面显示控制的方法、装置、终端及存储介质
CN105786456B (zh) 一种实现VxWorks任务钩子函数功能的方法及装置
JP6184116B2 (ja) 移行アドバイザリー装置
CN112463616A (zh) 一种面向Kubernetes容器平台的混沌测试方法和装置
CN115037729B (zh) 数据汇聚方法、装置、电子设备及计算机可读介质
CN115794353B (zh) 云网业务服务质量优化处理方法、装置、设备及存储介质
CN117009168A (zh) 一种应用指标获取方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant