CN107872480B - 大数据集群数据平衡方法和装置 - Google Patents
大数据集群数据平衡方法和装置 Download PDFInfo
- Publication number
- CN107872480B CN107872480B CN201610853276.3A CN201610853276A CN107872480B CN 107872480 B CN107872480 B CN 107872480B CN 201610853276 A CN201610853276 A CN 201610853276A CN 107872480 B CN107872480 B CN 107872480B
- Authority
- CN
- China
- Prior art keywords
- data
- cluster
- network bandwidth
- balance
- balancing
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种大数据集群数据平衡方法和装置,涉及大数据领域。其中的方法包括:获取数据平衡策略信息;获取大数据集群负载和性能数据;根据数据平衡策略和大数据集群负载和性能数据动态调整数据平衡的网络带宽,重新启动数据平衡程序。本发明能够在保障集群正常数据生产的同时,提高集群数据平衡的效率和弹性。
Description
技术领域
本发明涉及大数据领域,尤其涉及一种大数据集群数据平衡方法和装置。
背景技术
以Hadoop(分布式计算)为代表的大数据技术,在互联网公司成功的“数据驱动”示范和引领下,为越来越多企业的重视和应用,纷纷构建了Hadoop大数据集群,用来管理、存储、处理和应用企业的各种数据,发挥企业数据资产的价值。
Hadoop大数据集群,在集群数据增减、数据节点调整等情况下,往往会出现集群数据节点之间数据不平衡的现象,也就是集群中一些数据节点的数据存储空间较空闲,而另外一些数据节点的数据存储空间出现严重不足的情况。一旦出现这种现象,Hadoop集群的性能就会受到较大的影响,如数据生产出现严重的延时,进而影响到企业正常的业务开展。
针对上述现象,现有方法和技术,是通过Hadoop提供的“hdfs balancer”操作命令来实现集群数据节点间的数据重新分布和平衡。在执行该操作命令之前,还可以先执行“hdfs dfsadmin-setBalanacerBandwidth newbandwidthInBytes”命令来修改可用于集群数据平衡的节点网络带宽默认值(单位为字节)。
然而,在实际集群数据平衡处理中,如果使用默认值或更小网络带宽进行集群数据平衡,则需要较长的时间才能达到数据平衡。而在此期间,因为集群某些数据节点的存储空间不足等原因,影响整个集群的可用性。如果使用较大网络带宽进行数据平衡,则数据平衡效率高、耗时短。但在此期间,可用于集群数据处理任务的网络带宽变小,导致数据处理任务用时延长,进而影响企业的正常数据生产。
发明内容
本发明要解决的一个技术问题是提供一种大数据集群数据平衡方法和装置,在保障集群正常数据生产的同时,提高集群数据平衡的效率和弹性。
根据本发明一方面,提出一种大数据集群数据平衡方法,包括:获取数据平衡策略信息;获取大数据集群负载和性能数据;根据数据平衡策略和大数据集群负载和性能数据动态调整数据平衡的网络带宽,重新启动数据平衡程序。
进一步地,根据数据平衡策略和大数据集群负载和性能数据动态调整数据平衡的网络带宽包括:根据数据平衡策略和大数据集群负载和性能数据确定用于数据平衡的网络带宽;若用于数据平衡的网络带宽与当前运行数据平衡程序所配置的网络带宽的差值大于阈值,则动态调整当前运行数据平衡程序的网络带宽。
进一步地,获取大数据集群负载和性能数据包括:获取大数据集群的CPU占用率、内存使用情况、网络带宽使用率和/或磁盘IO。
进一步地,获取大数据集群负载和性能数据包括:通过监控大数据集群主机和/或大数据集群的API接口调用大数据集群负载和性能数据。
进一步地,数据平衡策略包括:大数据集群负载阈值、数据平衡任务紧急程度和/或设置的暂停数据平衡任务的时间段。
根据本发明的另一方面,还提出一种大数据集群数据平衡装置,包括:策略管理模块,用于获取数据平衡策略信息;集群性能实时监控模块,用于获取大数据集群负载和性能数据;实时网络带宽调整模块,用于根据数据平衡策略和大数据集群负载和性能数据动态调整数据平衡的网络带宽;平衡程序控制模块,用于重新启动数据平衡程序。
进一步地,实时网络带宽调整模块还用于根据数据平衡策略和大数据集群负载和性能数据确定用于数据平衡的网络带宽,若用于数据平衡的网络带宽与当前运行数据平衡程序所配置的网络带宽的差值大于阈值,则动态调整当前运行数据平衡程序的网络带宽。
进一步地,集群性能实时监控模块用于获取大数据集群的CPU占用率、内存使用情况、网络带宽使用率和/或磁盘IO。
进一步地,集群性能实时监控模块用于通过监控大数据集群主机和/或大数据集群的API接口调用大数据集群负载和性能数据。
进一步地,数据平衡策略包括:大数据集群负载阈值、数据平衡任务紧急程度和/或设置的暂停数据平衡任务的时间段。
与现有技术相比,本发明根据数据平衡策略和大数据集群负载和性能数据动态调整数据平衡的网络带宽,重新启动数据平衡程序,能够在保障集群正常数据生产的同时,提高集群数据平衡的效率和弹性。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同说明书一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1为本发明大数据集群数据平衡方法的一个实施例的流程示意图。
图2为本发明大数据集群数据平衡方法的另一个实施例的流程示意图。
图3为本发明大数据集群数据平衡装置的一个实施例的结构示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
图1为本发明大数据集群数据平衡方法的一个实施例的流程示意图。该方法包括以下步骤:
在步骤110,获取数据平衡策略信息。例如,用户自定义的时间段、集群负载阈值、数据平衡任务紧急程度等平衡策略。
在步骤120,获取大数据集群负载和性能数据。例如实时监控和获取大数据集群的CPU占用率、内存使用情况、网络带宽使用率和磁盘IO(Input/Output),输入/输出)。
在步骤130,根据数据平衡策略和大数据集群负载和性能数据动态调整数据平衡的网络带宽。例如,实时评估、计算可用于数据平衡的网络带宽,若计算出的用于数据平衡的网络带宽与当前运行数据平衡程序所配置的网络带宽的差值大于阈值,则动态调整当前运行数据平衡程序的网络带宽,例如,计算出的用于数据平衡的网络带宽(计算值)与当前运行数据平衡程序所配置的网络带宽(当前值)不一致,即正负波动,如100%-计算值/当前值*100%超出预设阈值(如5%),则动态调整当前运行数据平衡程序的网络带宽。
在步骤140,重新启动数据平衡程序。以Hadoop为例,可以通过直接调用Hadoop自带的“hdfs balancer threshold”、“hdfs dfsadmin-setBalanacerBandwidthnewbandwidthInBytes”,以及操作系统“kill processid”等命令来实现重新启动数据平衡程序。
循环步骤110-140,直到大数据集群达到重新平衡。
在该实施例中,根据数据平衡策略和大数据集群负载和性能数据动态调整数据平衡的网络带宽,重新启动数据平衡程序,能够在保障集群正常数据生产的同时,提高集群数据平衡的效率和弹性。
图2为本发明大数据集群数据平衡方法的另一个实施例的流程示意图。该方法包括以下步骤:
在步骤210,获取用户自定义的数据平衡策略信息。其中,用户可以自定义暂停数据平衡任务的时间段,例如用户根据大数据集群所承载的业务需要,设置的一些例外时间段,比如,每天凌晨00:00-3:00是重要业务处理期。用户为了保障重要业务的处理顺利,通常在这个时间段内,不希望有其他负载或开销降低业务处理的效率。在数据平衡时间策略中就可以把这个时间段设置为例外时间,在该时间段就暂停(停止)数据平衡程序的运行,而出了例外时间段,则恢复(重启)数据平衡程序。用户还可以自定义大数据集群负载阈值,例如集群CPU阈值设置为90%,意味着集群此时的负载很重,用户不希望有其他任务影响集群业务处理任务,那么就暂停数据平衡程序的执行。另外,用户还可以自定义大数据平衡任务紧急程度,当一个大数据集群因为数据不平衡而严重影响到业务的正常生产(通常表现出长尾现象,一个并行处理任务,大部分子任务已经结束了,而少数子任务仍需要很长时间才能完成),那么此时的数据平衡任务紧急程度是最高的,意味着不管是否有其他业务需要处理,都优先进行数据平衡。
在步骤220,实时监控和获取大数据集群负载和性能数据。例如,通过监控大数据集群主机或大数据集群的API(Application Programming Interface,应用程序编程接口)调用大数据集群负载和性能数据,其中,大数据集群负载和性能数据包括大数据集群的CPU占用率、内存使用情况、网络带宽使用率或磁盘IO。
在步骤230,实时评估、计算可用于数据平衡的网络带宽。其中,根据当前的数据平衡策略,以及大数据集群负载和性能数据,计算出可用于数据平衡的网络带宽。例如,假设每个节点的网络带宽是1000Mb/s(千兆网卡),通过实时监控,发现当前业务处理(集群内所有的数据计算、数据加载等处理)占用的网络带宽是600Mb/s,那么,可用于数据平衡的最大网络带宽就是400Mb/s(如果用户设置了保留网络带宽比例,如5%,那么,此时用于数据平衡的带宽就是350Mb/s)。
如果用户自定义了大数据平衡任务紧急程序,如假设每个节点的网络带宽是1000Mb/s(千兆网卡),那么用于数据平衡的网络带宽可设置为800Mb/s,体现了数据平衡任务优先。如果用户定义了时间策略,例如每天凌晨00:00-3:00是重要业务处理期,则在该时间段确定可用于数据平衡的网络带宽为0。另外,在大数据集群空闲期可增大数据平衡所用网络带宽。
若计算出的用于数据平衡的网络带宽与当前运行数据平衡程序所配置的网络带宽的差值大于阈值,则动态调整当前运行数据平衡程序的网络带宽。例如,当前正在运行的数据平衡程序所配置的网络带宽为300Mb/s,根据当前的数据平衡策略,以及大数据集群负载和性能数据,计算出可用于数据平衡的网络带宽是200Mb/s,那么,则需要重新设置数据平衡的网络带宽;如果计算出来的可用于数据平衡的网络带宽是300Mb/s,则不需要重新设置数据平衡的网络带宽。
在步骤240,如果数据平衡网络带宽发生变化,则重启数据平衡程序。
在步骤250,判断大数据集群是否达到平衡,若达到则结束流程,否则,继续执行步骤220。
在该实施例中,通过实时监控大数据集群负载和性能,结合用户自定义的时间段、集群负载阈值、数据平衡任务紧急程度等平衡策略,实时调整用于数据平衡的网络带宽,并重启数据平衡程序继续数据平衡处理,直到达到新平衡,实现在确保集群数据生产正常运转的情况下,通过动态调整数据平衡网络带宽,提高数据平衡效率和弹性的目的。
图3为本发明大数据集群数据平衡装置的一个实施例的结构示意图。该装置包括策略管理模块310、集群性能实时监控模块320、实时网络带宽调整模块330和平衡程序控制模块340,其中:
策略管理模块310用于获取数据平衡策略信息。例如,用户自定义的时间段、集群负载阈值、数据平衡任务紧急程度等平衡策略。
集群性能实时监控模块320用于获取大数据集群负载和性能数据。例如实时监控和获取大数据集群的CPU占用率、内存使用情况、网络带宽使用率和磁盘IO(Input/Output,输入/输出)。
实时网络带宽调整模块330用于根据数据平衡策略和大数据集群负载和性能数据动态调整数据平衡的网络带宽。例如,实时评估、计算可用于数据平衡的网络带宽,若计算出的用于数据平衡的网络带宽与当前运行数据平衡程序所配置的网络带宽的差值大于阈值,则动态调整当前运行数据平衡程序的网络带宽。
平衡程序控制模块340用于重新启动数据平衡程序。以Hadoop为例,可以通过直接调用Hadoop自带的“hdfs balancer threshold”、“hdfs dfsadmin-setBalanacerBandwidth newbandwidthInBytes”,以及操作系统“kill processid”等命令来实现重新启动数据平衡程序。
在该实施例中,根据数据平衡策略和大数据集群负载和性能数据动态调整数据平衡的网络带宽,重新启动数据平衡程序,能够在保障集群正常数据生产的同时,提高集群数据平衡的效率和弹性。
在本发明的另一个实施例中,策略管理模块310用于负载数据平衡策略的定义、存储、管理和访问,例如用户自定义数据平衡策略信息,如暂停数据平衡任务的时间段、大数据集群负载阈值以及大数据平衡任务紧急程度等。集群性能实时监控模块320用于实时监控和获取大数据集群负载和性能数据。例如,通过监控大数据集群主机或大数据集群的API调用大数据集群负载和性能数据,其中,大数据集群负载和性能数据包括大数据集群的CPU占用率、内存使用情况、网络带宽使用率或磁盘IO。
实时网络带宽调整模块330用于实时评估、计算可用于数据平衡的网络带宽,若计算出的用于数据平衡的网络带宽与当前运行数据平衡程序所配置的网络带宽的差值大于阈值,则动态调整当前运行数据平衡程序的网络带宽。平衡程序控制模块340用于负载网络带宽设置命令、数据平衡命令的执行和停止等,即如果数据平衡网络带宽发生变化,则重启数据平衡程序。
在该实施例中,通过实时监控大数据集群负载和性能,结合用户自定义的时间段、集群负载阈值、数据平衡任务紧急程度等平衡策略,实时调整用于数据平衡的网络带宽,并重启数据平衡程序继续数据平衡处理,直到达到新平衡,实现在确保集群数据生产正常运转的情况下,通过动态调整数据平衡网络带宽,提高数据平衡效率和弹性的目的。
至此,已经详细描述了本发明。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本发明的方法以及装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法以及装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。
Claims (8)
1.一种大数据集群数据平衡方法,其特征在于,包括:
获取数据平衡策略信息;
获取大数据集群负载和性能数据;
根据数据平衡策略和所述大数据集群负载和性能数据确定用于数据平衡的网络带宽;
若所述用于数据平衡的网络带宽与当前运行数据平衡程序所配置的网络带宽的差值大于阈值,则动态调整数据平衡的网络带宽,重新启动数据平衡程序。
2.根据权利要求1所述的方法,其特征在于,所述获取大数据集群负载和性能数据包括:
获取所述大数据集群的CPU占用率、内存使用情况、网络带宽使用率和/或磁盘IO。
3.根据权利要求2所述的方法,其特征在于,所述获取大数据集群负载和性能数据包括:
通过监控所述大数据集群主机和/或所述大数据集群的API接口调用所述大数据集群负载和性能数据。
4.根据权利要求1或2所述的方法,其特征在于,所述数据平衡策略包括:
所述大数据集群负载阈值、数据平衡任务紧急程度和/或设置的暂停数据平衡任务的时间段。
5.一种大数据集群数据平衡装置,其特征在于,包括:
策略管理模块,用于获取数据平衡策略信息;
集群性能实时监控模块,用于获取大数据集群负载和性能数据;
实时网络带宽调整模块,用于根据数据平衡策略和所述大数据集群负载和性能数据确定用于数据平衡的网络带宽,若所述用于数据平衡的网络带宽与当前运行数据平衡程序所配置的网络带宽的差值大于阈值,则动态调整数据平衡的网络带宽;
平衡程序控制模块,用于重新启动数据平衡程序。
6.根据权利要求5所述的装置,其特征在于,所述集群性能实时监控模块用于获取所述大数据集群的CPU占用率、内存使用情况、网络带宽使用率和/或磁盘IO。
7.根据权利要求6所述的装置,其特征在于,所述集群性能实时监控模块用于通过监控所述大数据集群主机和/或所述大数据集群的API接口调用所述大数据集群负载和性能数据。
8.根据权利要求5或6所述的装置,其特征在于,所述数据平衡策略包括:
所述大数据集群负载阈值、数据平衡任务紧急程度和/或设置的暂停数据平衡任务的时间段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610853276.3A CN107872480B (zh) | 2016-09-26 | 2016-09-26 | 大数据集群数据平衡方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610853276.3A CN107872480B (zh) | 2016-09-26 | 2016-09-26 | 大数据集群数据平衡方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107872480A CN107872480A (zh) | 2018-04-03 |
CN107872480B true CN107872480B (zh) | 2020-12-29 |
Family
ID=61752234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610853276.3A Active CN107872480B (zh) | 2016-09-26 | 2016-09-26 | 大数据集群数据平衡方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107872480B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109936627A (zh) * | 2019-02-21 | 2019-06-25 | 山东浪潮云信息技术有限公司 | 一种基于hadoop的自动数据均衡方法及工具 |
CN109800271A (zh) * | 2019-02-23 | 2019-05-24 | 湖北理工学院 | 一种基于大数据的信息采集方法 |
CN111897865A (zh) * | 2020-08-13 | 2020-11-06 | 工银科技有限公司 | 一种etl工作负载的动态调整方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104539730A (zh) * | 2015-01-16 | 2015-04-22 | 浙江大学 | 一种hdfs中面向视频的负载均衡方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070233843A1 (en) * | 2006-03-30 | 2007-10-04 | Gabriele Frey-Ganzel | Method and system for an improved work-load balancing within a cluster |
CN102937918B (zh) * | 2012-10-16 | 2016-03-30 | 西安交通大学 | 一种hdfs运行时数据块平衡方法 |
CN104063501B (zh) * | 2014-07-07 | 2017-06-16 | 电子科技大学 | 基于hdfs的副本平衡方法 |
-
2016
- 2016-09-26 CN CN201610853276.3A patent/CN107872480B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104539730A (zh) * | 2015-01-16 | 2015-04-22 | 浙江大学 | 一种hdfs中面向视频的负载均衡方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107872480A (zh) | 2018-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230283681A1 (en) | System and method for throttling service requests having non-uniform workloads | |
US11252220B2 (en) | Distributed code execution involving a serverless computing infrastructure | |
CN111796908B (zh) | 一种资源自动弹性伸缩的系统、方法及云平台 | |
US10101798B2 (en) | Reducing power consumption in a server cluster | |
US9405572B2 (en) | Optimized resource allocation and management in a virtualized computing environment | |
US8424007B1 (en) | Prioritizing tasks from virtual machines | |
US20170201574A1 (en) | Method, system, and device for allocating resources in a server | |
JP6290462B2 (ja) | ネットワーク・アクセス可能なブロック・ストレージのための協調アドミッション制御 | |
US8818989B2 (en) | Memory usage query governor | |
US10460254B2 (en) | System and method for reducing state space in reinforced learning by using decision tree classification | |
WO2017000628A1 (zh) | 一种云计算系统中的资源调度方法及装置 | |
US20180316751A1 (en) | Anti-flapping system for autoscaling resources in cloud networks | |
US20180316759A1 (en) | Pluggable autoscaling systems and methods using a common set of scale protocols for a cloud network | |
US11163606B1 (en) | Systems and methods for thread management to optimize resource utilization in a distributed computing environment | |
CN107872480B (zh) | 大数据集群数据平衡方法和装置 | |
US20170251064A1 (en) | Method and device for scheduling resources | |
US8892740B2 (en) | Dynamic application provisioning in cloud computing environments | |
CN109960579B (zh) | 一种调整业务容器的方法及装置 | |
CN110543355A (zh) | 一种自动均衡云平台资源的方法 | |
US9135064B2 (en) | Fine grained adaptive throttling of background processes | |
US20180316547A1 (en) | Single management interface to route metrics and diagnostic logs for cloud resources to cloud storage, streaming and log analytics services | |
EP3916554B1 (en) | A throughput-optimized, quality-of-service aware power capping system | |
US11303546B2 (en) | Service system and control method of the same | |
US11157301B2 (en) | Systems and methods for improved management of virtual machine clusters | |
US11520638B1 (en) | Combined active and preinitialized resource management for rapid autoscaling |
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 | ||
GR01 | Patent grant |