一种大数据集群部署方法、装置、电子设备及存储介质与流程
未命名
08-22
阅读:83
评论:0
1.本发明涉及大数据技术领域,尤其涉及一种大数据集群部署方法、装置、电子设备及存储介质。
背景技术:
2.大数据不断推动着各行各业优化资源配置、产生跨界创新。大数据集群由大量的节点构成。大数据集群部署实现将大数据服务中的多个组件部署到不同的节点中,进而实现分布式存储与计算。随着数据量和应用需求的增加,大数据平台的体量越远越大,大数据集群部署的技术门槛逐渐增加。目前,基于apachehadoop的大数据平台虽然在一定程度上解决了运维部署难的问题,但是搭建和部署大数据集群对于操作人员依旧有着比较高的技术要求。
3.现有大数据集群部署方式主要依赖于用户对大数据组件的熟悉程度,采用主节点优先分配原则,选择服务、进行组件分配部署。现有的主节点优先分配方式的大数据集群部署,会导致较多服务集中在某一个节点上造成主节点资源紧张,而其他从节点资源空闲,整体资源利用率低。
技术实现要素:
4.本发明实施例提供了一种大数据集群部署方法、装置、电子设备及存储介质,以解决现有部署方式的大数据集群资源利用率低问题。
5.第一方面,本发明实施例提供了一种大数据集群部署方法,所述大数据集群包括多个节点,每个所述节点包括若干类型的硬件配置资源。所述方法包括:
6.确定待部署的目标组件。
7.监测所述多个节点的各硬件配置资源的实时使用率。
8.查询预设权重表获得各类型硬件配置资源对目标组件的影响权重,其中,所述影响权重用于表示目标组件对该类型硬件配置资源的需求程度。
9.基于所述实时使用率、各类型硬件配置资源对目标组件的影响权重,获得目标组件在各节点的负载分值。
10.基于目标组件在各节点的负载分值,将目标组件部署在负载分值最低的节点上。
11.在一种可能的实现方式中,所述基于所述实时使用率、各类型硬件配置资源对目标组件的影响权重,获得目标组件在各节点的负载分值,包括:将所述多个节点中的任一个确定为目标节点。基于每种类型硬件配置资源对目标组件的影响权重,将目标节点的各类型硬件配置资源的实时使用率加权求和,获得目标组件在目标节点的负载分值。将所述多个节点中未计算过负载分值的任一个节点确定为目标节点,计算获得目标组件在目标节点的负载分值,直至获得目标组件在各节点的负载分值。
12.在一种可能的实现方式中,在监测所述多个节点的各硬件配置资源的实时使用率之前,还包括:获取大数据集群的历史负载率,其中,所述大数据集群的历史负载率基于大
数据集群每个节点各硬件配置资源的历史使用率确定。根据大数据集群的历史负载率,预测得到大数据集群在未来时刻的负载率。根据大数据集群在未来时刻的负载率,调整大数据集群的节点数量。相应的,所述监测所述多个节点的各硬件配置资源的实时使用率包括:基于节点数量调整后的大数据集群,监测所述多个节点的各硬件配置资源的实时使用率。
13.在一种可能的实现方式中,所述获取大数据集群的历史负载率,包括:获取大数据集群每个节点的每种类型硬件配置资源的历史使用率。将节点内的每种类型硬件配置资源的历史使用率进行加权求和,得到该节点的历史负载率。将每个节点的历史负载率求和,得到大数据集群的历史负载率。
14.在一种可能的实现方式中,所述根据大数据集群的历史负载率,预测得到大数据集群在未来时刻的负载率,包括:基于孤立森林算法,检测大数据集群的历史负载率中的异常值。采用平均值代替所述异常值,获得更新后的大数据集群的历史负载率。采用双层lstm网络,基于所述更新后的大数据集群的历史负载率,预测得到大数据集群在未来时刻的负载率。
15.在一种可能的实现方式中,所述根据大数据集群在未来时刻的负载率,调整大数据集群的节点数量,包括:若大数据集群在未来时刻的负载率低于预设范围,则减少大数据集群的节点数量。若大数据集群在未来时刻的负载率高于预设范围,则增加大数据集群的节点数量。
16.在一种可能的实现方式中,所述硬件配置资源的使用率包括cpu利用率、内存占用率、磁盘占用率或带宽占用率
17.第二方面,本发明实施例提供了一种大数据集群部署装置,所述大数据集群包括多个节点,每个所述节点包括若干类型的硬件配置资源。所述装置包括:
18.确定模块,用于确定待部署的目标组件。
19.监测模块,用于监测所述多个节点的各硬件配置资源的实时使用率。
20.权重查询模块,用查询预设权重表获得各类型硬件配置资源对目标组件的影响权重,其中,所述影响权重用于表示目标组件对该类型硬件配置资源的需求程度。
21.负载计算模块,用于基于所述实时使用率、各类型硬件配置资源对目标组件的影响权重,获得目标组件在各节点的负载分值。
22.组件部署模块,用于基于目标组件在各节点的负载分值,将目标组件部署在负载分值最低的节点上。
23.第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上第一方面或第一方面的任一种可能的实现方式所述方法的步骤。
24.第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上第一方面或第一方面的任一种可能的实现方式所述方法的步骤。
25.本发明实施例提供一种大数据集群部署方法、装置、电子设备及存储介质,该方法包括确定待部署的目标组件。监测多个节点的各硬件配置资源的实时使用率。查询预设权重表获得各类型硬件配置资源对目标组件的影响权重,其中,影响权重用于表示目标组件对该类型硬件配置资源的需求程度。基于各类型硬件配置资源对目标组件的影响权重,获
得目标组件在各节点的负载分值。基于目标组件在各节点的负载分值,将目标组件部署在负载分值最低的节点上。本发明通过基于组件对各类型资源的需求权重计算目标组件在各节点的负载分值,并将目标组件部署在负载分值最低的节点上,避免较多服务集中在某一个节点上,造成该节点资源紧张而其他节点资源空闲,提升了大数据集群资源利用率。
附图说明
26.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
27.图1是本发明实施例提供的大数据集群部署方法的实现流程图;
28.图2是本发明实施例提供的大数据集群部署装置的结构示意图;
29.图3是本发明实施例提供的一种大数据组件运维管理平台的结构示意图;
30.图4是本发明实施例提供的电子设备的示意图。
具体实施方式
31.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
32.为使本发明的目的、技术方案和优点更加清楚,下面将结合附图通过具体实施例来进行说明。
33.本发明实施例可以适用于多种应用场景,这些场景中涉及在大数据集群中部署大数据组件,具体的应用场景在此不作限定。示例性的,在一个应用场景中,大数据集群由大量的节点构成,大数据服务由多个不同的组件构成,大数据集群部署实现将大数据服务中的各个组件部署到不同的节点中,进而实现分布式存储与计算。
34.现有大数据集群部署方式主要依赖于用户对大数据组件的熟悉程度,采用主节点优先分配原则,选择服务、进行组件分配部署。现有的主节点优先分配方式的大数据集群部署,会导致较多服务集中在某一个节点上造成主节点资源紧张,而其他从节点资源空闲,整体资源利用率低。
35.本发明实施例为解决现有部署方式的大数据集群资源利用率低问题,通过基于组件对各类型资源的需求权重计算目标组件在各节点的负载分值,并将目标组件部署在负载分值最低的节点上,避免较多服务集中在某一个节点上,造成该节点资源紧张而其他节点资源空闲,提升了大数据集群资源利用率。
36.图1是本发明实施例提供的大数据集群部署方法的实现流程图。参照图1:大数据集群包括多个节点,每个节点包括若干类型的硬件配置资源。方法包括:
37.在步骤101中、确定待部署的目标组件。
38.多个不同的组件构成大数据服务。例如,大数据服务可以是hdfs(分布式文件系统,hadoop distributed file system,简称hdfs),构成hdfs的组件可以是namenode组件
和datanode组件。
39.目标组件可以是构成大数据服务的多个组件中的一个。例如,用户可以通过人机交互界面选择需要部署的大数据服务,确定需要部署的多个组件。可将需要部署的多个组件中的任一个组件确定为目标组件。
40.在步骤102中、监测多个节点的各硬件配置资源的实时使用率。
41.大数据集群包括多个节点。基于应用场景的不同,节点可以是计算机、服务器或虚拟机。每个节点包括多种类型的硬件配置资源。例如,硬件配置资源可以是cpu、内存、磁盘或带宽等。
42.使用率可表示硬件配置资源的资源使用情况。例如,使用率可以是cpu利用率、内存占用率、磁盘占用率或带宽占用率。
43.各节点可部署不同租户的不同组件。大数据集群在运行过程中,各节点的资源使用率一直处于动态变化。因此,在部署目标组件时需要基于各节点资源动态变化的实时使用率进行部署。
44.在步骤103中、查询预设权重表获得各类型硬件配置资源对目标组件的影响权重,其中,影响权重用于表示目标组件对该类型硬件配置资源的需求程度。
45.示例性的,预设权重表包括不同类型硬件配置资源对应不同类型组件的影响权重。影响权重用于表示某一类型组件对某一类型硬件配置资源的需求程度。
46.以hdfs的namenode组件和datanode组件为例,namenode组件为内存密集型,运行时对内存资源的需求较大。datanode组件为磁盘密集型,运行时对磁盘资源的需求较大。根据各类型组件对不同类型资源的需求程度,设置不同的影响权重。
47.示例性的,目标组件对某一类型硬件配置资源的需求程度越大,该类型硬件配置资源对目标组件的影响权重越大。目标组件对某一类型硬件配置资源的需求程度越小,该类型硬件配置资源对目标组件的影响权重越小。
48.在步骤104中、基于实时使用率、各类型硬件配置资源对目标组件的影响权重,获得目标组件在各节点的负载分值。
49.目标组件在某一节点的负载分值用于表示目标组件运行在该节点上时,该节点各资源的实时使用率对目标组件的影响程度,即该节点的资源负载率对目标组件的影响程度。或者,当前节点的剩余资源对目标组件需求的满足程度。
50.示例性的,基于上述实时使用率、影响权重得到负载分值的步骤包括:基于大数据集群各个节点的每种类型硬件配置资源的实时使用率,各类型硬件配置资源对目标组件的影响权重,计算获得目标组件在各节点的负载分值。
51.在一种可能的实现方式中,基于实时使用率、各类型硬件配置资源对目标组件的影响权重,获得目标组件在各节点的负载分值,包括:将多个节点中的任一个确定为目标节点。基于每种类型硬件配置资源对目标组件的影响权重,将目标节点的各类型硬件配置资源的实时使用率加权求和,获得目标组件在目标节点的负载分值。将多个节点中未计算过负载分值的任一个节点确定为目标节点,计算获得目标组件在目标节点的负载分值,直至获得目标组件在各节点的负载分值。
52.示例性的,上述基于每种类型硬件配置资源对目标组件的影响权重,将目标节点的各类型硬件配置资源的实时使用率加权求和,获得目标组件在目标节点的负载分值,通
过以下公式计算:
53.g
node
=σαnln54.其中,αn为第n个类型硬件配置资源对目标组件的影响权重,ln为目标节点的第n个类型硬件配置资源的实时使用率,g
node
为目标组件在目标节点的负载分值。
55.在步骤105中、基于目标组件在各节点的负载分值,将目标组件部署在负载分值最低的节点上。
56.目标组件在某一节点的负载分值表示目标组件运行在该节点上时,该节点各资源的实时使用率对目标组件的影响程度,即该节点的资源负载率对目标组件的影响程度。
57.负载分值越小表示该节点硬件配置资源的实时使用率对目标组件的影响越小。负载分值越大表示该节点硬件配置资源的实时使用率对目标组件的影响越大。在得到各节点的负载分值后,将负载分值最低的节点确定为最优的部署节点。
58.以hdfs的namenode组件和datanode组件为例,根据各类型组件对不同类型资源的需求程度,设置不同的影响权重。
59.namenode组件为内存密集型,对应内存资源的影响权重较大。基于节点资源的实时使用率,内存占用率为较大权重的指标,通过计算负载分值,选取负载分值最小的节点作为最优的节点部署namenode组件。
60.datanode组件为磁盘密集型,对应磁盘资源的影响权重较大。基于节点资源的实时使用率,磁盘利用率为较大权重指标,通过计算负载分值,选取负载分值最小的节点作为最优的节点部署datanode组件。datanode组件通常需要部署多个,可选取负载分值较小的多个节点作为最优的节点部署datanode组件。
61.大数据服务包括多个组件。示例性的,针对大数据服务中的每个组件,可依次将各个组件作为目标组件,重复执行步骤101至105,得到各个组件的最优部署节点,即获得大数据服务的最优部署策略。通过权重分配的推荐策略,可生成针对当前资源最优的服务推荐信息推送到前端页面。用户可一键使用推荐配置,便可部署资源利用最优的大数据集群。本发明实施例方法降低用户的技术选型难度和使用门槛。
62.本发明实施例通过基于组件对各类型资源的需求权重计算目标组件在各节点的负载分值,并将目标组件部署在负载分值最低的节点上,避免较多服务集中在某一个节点上,造成该节点资源紧张而其他节点资源空闲,提升了大数据集群资源利用率。
63.现有大数据集群部署方式主要依赖于用户对大数据组件的熟悉程度,采用主节点优先分配原则,选择服务、进行组件分配部署。本发明实施例相对于用户基于主节点优先原则的分配方式,提高了大数据集群部署的效率、降低了部署难度。
64.现有大数据集群部署方式,对于不同时段的集群负载压力并没有较好的提前感知和动态应对能力,容易造成业务突发时资源瓶颈紧张和业务空闲时资源浪费问题,给企业大数据技术方案的落地和运维带来了极大影响。现有大数据集群无法根据节点本身资源占用情况进行动态分配,主节点优先分配方式容易造成主节点负载过大时的从节点资源浪费和主节点组件部署失败问题。
65.在一种可能的实现方式中,在监测多个节点的各硬件配置资源的实时使用率之前,还包括:获取大数据集群的历史负载率,其中,大数据集群的历史负载率基于大数据集群每个节点各硬件配置资源的历史使用率确定。根据大数据集群的历史负载率,预测得到
大数据集群在未来时刻的负载率。根据大数据集群在未来时刻的负载率,调整大数据集群的节点数量。相应的,监测多个节点的各硬件配置资源的实时使用率包括:基于节点数量调整后的大数据集群,监测多个节点的各硬件配置资源的实时使用率。
66.大数据集群的历史负载率表示大数据集群硬件配置资源的使用情况。示例性的,可监测某一时刻大数据集群中各节点的硬件配置资源的使用率,得到该时刻大数据集群的负载率。持续监测各个时刻,得到大数据集群历史负载率按时间的序列数据。
67.根据大数据集群的历史负载率,预测得到大数据集群在未来时刻的负载率。例如,预测得到大数据集群在一天以后、一周以后或一个月以后的负载率。
68.根据大数据集群在未来时刻的负载率,调整大数据集群的节点数量。例如,增加大数据集群的节点数量,或者减少大数据集群的节点数量。
69.在调整大数据集群的节点数量之后,再监测调整后大数据集群的多个节点的各硬件配置资源的实时使用率,执行步骤103至105,得到负载评分,将目标组件部署在负载分值最低的节点上。
70.本发明实施例通过先调整大数据集群节点数、后部署大数据服务的组件,避免大数据组件在未来运行中资源不匹配。可采用智能算法实现平台对大数据集群的负载预测,基于大数据集群资源负载率预测数据,使大数据平台能够提前感知负载变化。提供集群负载提前感知的能力,可以有效的解决业务突发和资源空闲时的资源不够和资源浪费的问题、可以有效的提升大数据集群的稳定性和降低资源浪费。
71.在一种可能的实现方式中,获取大数据集群的历史负载率,包括:获取大数据集群每个节点的每种类型硬件配置资源的历史使用率。将节点内的每种类型硬件配置资源的历史使用率进行加权求和,得到该节点的历史负载率。将每个节点的历史负载率求和,得到大数据集群的历史负载率。
72.示例性的,硬件配置资源包括cpu、内存、磁盘和网络带宽。硬件配置资源的历史使用率包括cpu利用率、内存占用率、磁盘占用率和带宽占用率。示例性的,基于以下公式确定节点的历史负载率:
73.li=α
cpu
l
cpu
+α
mem
l
mem
+α
io
l
io
+α
net
l
net
74.其中,li为第i个节点的历史负载率,l
cpu
为cpu利用率,α
cpu
为cpu计算权重,l
mem
为内存占用率,α
mem
为内存计算权重,l
io
为磁盘占用率,α
io
为磁盘计算权重,l
net
为带宽占用率,α
net
为带宽计算权重。节点的历史负载率表示节点内硬件配置资源的综合负载。
75.示例性的,在得到节点的历史负载率后,对历史负载率进行归一化处理后,将归一化处理后的数值作为当前节点的历史负载率。
76.各计算权重表示各类型硬件配置资源在节点中的重要程度,可由所选择需要部署的大数据服务的类型决定。例如,大数据平台属于cpu和内存密集型,在层次分析法的基础上,可将cpu和内存权重占比调大,适当减小磁盘和网络的权重,可以更好的反应出大数据集群系统资源的负载情况。
77.示例性的,基于以下公式确定大数据集群的历史负载率:
78.79.其中,li为第i个节点的历史负载率,l
t
为大数据集群的历史负载率。大数据集群的历史负载率为所有物理机节点负载率的叠加,用于反映集群的系统总负载。
80.在一种可能的实现方式中,根据大数据集群的历史负载率,预测得到大数据集群在未来时刻的负载率,包括:基于孤立森林算法,检测大数据集群的历史负载率中的异常值。采用平均值代替异常值,获得更新后的大数据集群的历史负载率。采用双层lstm网络,基于更新后的大数据集群的历史负载率,预测得到大数据集群在未来时刻的负载率。
81.大数据集群的历史负载率为时间序列数据。采用孤立森林算法(if算法)进行特征工程构建,对上述时间序列数据中的异常值进行检测剔除,使用时间序列数据的平均值替代异常值,提高信噪比。
82.示例性的,利用gru对lstm进行优化,将遗忘门和输入门合并成单一的更新门,提高预测效率。并采用双层lstm网络提高模型预测的精度,充分利用gru的高效率和lstm的高性能对系统资源进行负载预测。构建组合预测模型并进行模型训练和预测,输出最终的预测结果。
83.本发明实施例通过孤立森林算法剔除异常值、通过双层lstm网络预测大数据集群的负载率,基于预测的负载率先调整大数据集群节点数、后部署大数据服务的组件,避免大数据组件在未来运行中资源不匹配。采用智能算法实现平台对大数据集群的负载预测,基于大数据集群资源负载率预测数据,使大数据平台能够提前感知负载变化。
84.在一种可能的实现方式中,根据大数据集群在未来时刻的负载率,调整大数据集群的节点数量,包括:若大数据集群在未来时刻的负载率低于预设范围,则减少大数据集群的节点数量。若大数据集群在未来时刻的负载率高于预设范围,则增加大数据集群的节点数量。
85.示例性的,若大数据集群在未来时刻的负载率在预设范围内,则不调整大数据集群的节点数量。
86.本发明实施例通过基于预测的负载率先调整大数据集群的节点数、后部署大数据服务的组件,避免大数据组件在未来运行中资源不匹配。
87.在一种可能的实现方式中,硬件配置资源的使用率包括cpu利用率、内存占用率、磁盘占用率或带宽占用率
88.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
89.以下为本发明的装置实施例,对于其中未详尽描述的细节,可以参考上述对应的方法实施例。
90.图2是本发明实施例提供的大数据集群部署装置的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
91.如图2所示,大数据集群包括多个节点,每个节点包括若干类型的硬件配置资源。一种大数据集群部署装置2包括:
92.确定模块21,用于确定待部署的目标组件。
93.监测模块22,用于监测多个节点的各硬件配置资源的实时使用率。
94.权重查询模块23,用查询预设权重表获得各类型硬件配置资源对目标组件的影响
权重,其中,影响权重用于表示目标组件对该类型硬件配置资源的需求程度。
95.负载计算模块24,用于基于实时使用率、各类型硬件配置资源对目标组件的影响权重,获得目标组件在各节点的负载分值。
96.组件部署模块25,用于基于目标组件在各节点的负载分值,将目标组件部署在负载分值最低的节点上。
97.本发明实施例通过基于组件对各类型资源的需求权重计算目标组件在各节点的负载分值,并将目标组件部署在负载分值最低的节点上,避免较多服务集中在某一个节点上,造成该节点资源紧张而其他节点资源空闲,提升了大数据集群资源利用率。
98.在一种可能的实现方式中,基于实时使用率、各类型硬件配置资源对目标组件的影响权重,获得目标组件在各节点的负载分值,包括:将多个节点中的任一个确定为目标节点。基于每种类型硬件配置资源对目标组件的影响权重,将目标节点的各类型硬件配置资源的实时使用率加权求和,获得目标组件在目标节点的负载分值。将多个节点中未计算过负载分值的任一个节点确定为目标节点,计算获得目标组件在目标节点的负载分值,直至获得目标组件在各节点的负载分值。
99.在一种可能的实现方式中,在监测多个节点的各硬件配置资源的实时使用率之前,还包括:获取大数据集群的历史负载率,其中,大数据集群的历史负载率基于大数据集群每个节点各硬件配置资源的历史使用率确定。根据大数据集群的历史负载率,预测得到大数据集群在未来时刻的负载率。根据大数据集群在未来时刻的负载率,调整大数据集群的节点数量。相应的,监测多个节点的各硬件配置资源的实时使用率包括:基于节点数量调整后的大数据集群,监测多个节点的各硬件配置资源的实时使用率。
100.在一种可能的实现方式中,获取大数据集群的历史负载率,包括:获取大数据集群每个节点的每种类型硬件配置资源的历史使用率。将节点内的每种类型硬件配置资源的历史使用率进行加权求和,得到该节点的历史负载率。将每个节点的历史负载率求和,得到大数据集群的历史负载率。
101.在一种可能的实现方式中,根据大数据集群的历史负载率,预测得到大数据集群在未来时刻的负载率,包括:基于孤立森林算法,检测大数据集群的历史负载率中的异常值。采用平均值代替异常值,获得更新后的大数据集群的历史负载率。采用双层lstm网络,基于更新后的大数据集群的历史负载率,预测得到大数据集群在未来时刻的负载率。
102.在一种可能的实现方式中,根据大数据集群在未来时刻的负载率,调整大数据集群的节点数量,包括:若大数据集群在未来时刻的负载率低于预设范围,则减少大数据集群的节点数量。若大数据集群在未来时刻的负载率高于预设范围,则增加大数据集群的节点数量。
103.在一种可能的实现方式中,硬件配置资源的使用率包括cpu利用率、内存占用率、磁盘占用率或带宽占用率
104.图3是本发明实施例提供的一种大数据组件运维管理平台的结构示意图。如图3所示,上述大数据组件运维管理平台包括:集群管理模块、服务管理模块和资源监控模块。
105.集群管理模块主要实现集群的基本运维,包括多集群的创建,集群列表管理和节点资源管理。
106.服务管理模块应用任务编排调度和即时通讯技术实现大数据集群的安装部署和
组件运维功能。可采用主从架构的架构模式,并通过消息中间件通信机制完成服务端server和多个从节点agent即时通信。大数据集群包括一个服务端server和多个子节点agent,每个子节点都是由一个调度通信单元和智能运维单元构成。调度通信单元基于rocketmq的消息收发机制实现了服务端和各子节点的相互通信。智能运维单元可以是一个封装好的python服务进程,专用于负责多个大数据组件的运维管理操作,相较于常用得shell脚本具有更好得可扩展性和可移植性。整个服务管理过程用户只需要在web平台界面选择需要安装的组件,安装、部署、查看和配置等简易操作,便可完成大数据组件的部署和运维工作,降低了大数据集群部署和运维的复杂度。
107.资源监控模块为用户提供图形化数据监控功能,对大数据集群进行动态资源监控,可支持集群、节点、服务和实例四个维度的监控、查看,提供多种监控指标。同时,基于智能算法实现系统资源负载预测,使大数据平台能够提前感知负载变化,并快速的辅助用户采取针对性的操作和解决方案。资源监控模块可基于数据采集监控组件prometheus、grafana以及influxdb等实现图形化数据监控功能。资源监控模块可利用exporter组件进行大数据组件指标信息数据的采集和处理,将采集到的监控指标数据按照时间序列存储到influxdb时序数据库中。大数据组件运维管理平台可通过采集指标数据加权计算综合负载来评估集群的运行状态。同时,通过系统资源负载预测,使大数据组件运维管理平台能够提前感知负载变化并采取针对性的解决方案,辅助用户更好地管理大数据平台和各个组件。
108.一站式大数据组件运维管理平台,能够根据业务需求提供灵活的、可定制化的大数据组件的管理、运维及监控能力,通过可视化界面向导式操作大幅降低使用门槛,有效提高运维效率。运维管理平台支持hadoop社区20+组件,紧随社区发展,具备高度的开放性,同时能够通过增加集群节点数量,线性提高系统处理能力。通过核心技术框架,以支持多操作系统部署,支持插拔式对第三方技术组件进行灵活扩展,提升集群扩容及部署效率。同时,在稳定提供开源大数据存储计算组件的基础上,逐步实现对结构化、半结构化及非结构化数据的统一存储计算,同时降低使用成本,提高数据易用性。
109.本发明实施例提供的大数据集群部署方法可应用在上述提供的大数据组件运维管理平台中,可生成最优的组件部署策略推荐给用户,为用户搭建大数据集群提供辅助,帮助用户根据动态资源情况搭建最优的大数据组件部署方案,降低了大数据集群部署的技术难度。
110.图4是本发明实施例提供的电子设备的示意图。如图4所示,该实施例的电子设备4包括:处理器40、存储器41以及存储在所述存储器41中并可在所述处理器40上运行的计算机程序42。所述处理器40执行所述计算机程序42时实现上述各个大数据集群部署方法实施例中的步骤,例如图1所示的步骤101至步骤105。或者,所述处理器40执行所述计算机程序42时实现上述各装置实施例中各模块/单元的功能,例如图2所示模块21至25的功能。
111.示例性的,所述计算机程序42可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器41中,并由所述处理器40执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序42在所述电子设备4中的执行过程。例如,所述计算机程序42可以被分割成图2所示的模块21至25。
112.所述电子设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设
备。所述电子设备4可包括,但不仅限于,处理器40、存储器41。本领域技术人员可以理解,图4仅仅是电子设备4的示例,并不构成对电子设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。
113.所称处理器40可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
114.所述存储器41可以是所述电子设备4的内部存储单元,例如电子设备4的硬盘或内存。所述存储器41也可以是所述电子设备4的外部存储设备,例如所述电子设备4上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,所述存储器41还可以既包括所述电子设备4的内部存储单元也包括外部存储设备。所述存储器41用于存储所述计算机程序以及所述电子设备所需的其他程序和数据。所述存储器41还可以用于暂时地存储已经输出或者将要输出的数据。
115.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
116.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
117.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
118.在本发明所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
119.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
120.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
121.所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个大数据集群部署方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、电载波信号、电信信号以及软件分发介质等。
122.以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
技术特征:
1.一种大数据集群部署方法,其特征在于,所述大数据集群包括多个节点,每个所述节点包括若干类型的硬件配置资源;所述方法包括:确定待部署的目标组件;监测所述多个节点的各硬件配置资源的实时使用率;查询预设权重表获得各类型硬件配置资源对目标组件的影响权重,其中,所述影响权重用于表示目标组件对该类型硬件配置资源的需求程度;基于所述实时使用率、各类型硬件配置资源对目标组件的影响权重,获得目标组件在各节点的负载分值;基于目标组件在各节点的负载分值,将目标组件部署在负载分值最低的节点上。2.根据权利要求1所述的大数据集群部署方法,其特征在于,所述基于所述实时使用率、各类型硬件配置资源对目标组件的影响权重,获得目标组件在各节点的负载分值,包括:将所述多个节点中的任一个确定为目标节点;基于每种类型硬件配置资源对目标组件的影响权重,将目标节点的各类型硬件配置资源的实时使用率加权求和,获得目标组件在目标节点的负载分值;将所述多个节点中未计算过负载分值的任一个节点确定为目标节点,计算获得目标组件在目标节点的负载分值,直至获得目标组件在各节点的负载分值。3.根据权利要求1所述的大数据集群部署方法,其特征在于,在监测所述多个节点的各硬件配置资源的实时使用率之前,还包括:获取大数据集群的历史负载率,其中,所述大数据集群的历史负载率基于大数据集群每个节点各硬件配置资源的历史使用率确定;根据大数据集群的历史负载率,预测得到大数据集群在未来时刻的负载率;根据大数据集群在未来时刻的负载率,调整大数据集群的节点数量;相应的,所述监测所述多个节点的各硬件配置资源的实时使用率包括:基于节点数量调整后的大数据集群,监测所述多个节点的各硬件配置资源的实时使用率。4.根据权利要求3所述的大数据集群部署方法,其特征在于,所述获取大数据集群的历史负载率,包括:获取大数据集群每个节点的每种类型硬件配置资源的历史使用率;将节点内的每种类型硬件配置资源的历史使用率进行加权求和,得到该节点的历史负载率;将每个节点的历史负载率求和,得到大数据集群的历史负载率。5.根据权利要求3所述的大数据集群部署方法,其特征在于,所述根据大数据集群的历史负载率,预测得到大数据集群在未来时刻的负载率,包括:基于孤立森林算法,检测大数据集群的历史负载率中的异常值;采用平均值代替所述异常值,获得更新后的大数据集群的历史负载率;采用双层lstm网络,基于所述更新后的大数据集群的历史负载率,预测得到大数据集群在未来时刻的负载率。6.根据权利要求3所述的大数据集群部署方法,其特征在于,所述根据大数据集群在未
来时刻的负载率,调整大数据集群的节点数量,包括:若大数据集群在未来时刻的负载率低于预设范围,则减少大数据集群的节点数量;若大数据集群在未来时刻的负载率高于预设范围,则增加大数据集群的节点数量。7.根据权利要求1所述的大数据集群部署方法,其特征在于,所述硬件配置资源的使用率包括cpu利用率、内存占用率、磁盘占用率或带宽占用率。8.一种大数据集群部署装置,其特征在于,所述大数据集群包括多个节点,每个所述节点包括若干类型的硬件配置资源;所述装置包括:确定模块,用于确定待部署的目标组件;监测模块,用于监测所述多个节点的各硬件配置资源的实时使用率;权重查询模块,用查询预设权重表获得各类型硬件配置资源对目标组件的影响权重,其中,所述影响权重用于表示目标组件对该类型硬件配置资源的需求程度;负载计算模块,用于基于所述实时使用率、各类型硬件配置资源对目标组件的影响权重,获得目标组件在各节点的负载分值;组件部署模块,用于基于目标组件在各节点的负载分值,将目标组件部署在负载分值最低的节点上。9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上的权利要求1至7中任一项所述大数据集群部署方法的步骤。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上的权利要求1至7中任一项所述大数据集群部署方法的步骤。
技术总结
本发明提供一种大数据集群部署方法、装置、电子设备及存储介质。该方法包括确定待部署的目标组件。监测多个节点的各资源的实时使用率。查询预设权重表获得各类型资源对目标组件的影响权重,其中影响权重用于表示目标组件对该类型硬件配置资源的需求程度。基于各类型硬件配置资源对目标组件的影响权重,获得目标组件在各节点的负载分值。基于目标组件在各节点的负载分值,将目标组件部署在负载分值最低的节点上。本发明能够通过基于组件对各类型资源的需求权重计算目标组件在各节点的负载分值,并将目标组件部署在负载分值最低的节点上,避免较多服务集中在某一个节点上,造成该节点资源紧张而其他节点资源空闲,提升了大数据集群资源利用率。据集群资源利用率。据集群资源利用率。
技术研发人员:李玉涛 王磊 黎荣华 陈云朋 王钾 马甜 张韶 杨辉
受保护的技术使用者:河钢数字技术股份有限公司
技术研发日:2023.03.31
技术公布日:2023/8/21
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
