logo好方法网

一种基于Quota的集群模糊控制容量规划方法


技术摘要:
一种基于Quota的集群模糊控制容量规划方法,包括以下步骤:步骤1:根据用户方提供的保存周期、每日数据增量折算为Quota;步骤2:创建集群region,设计抽象出两层逻辑的概念rack和region来规划集群;步骤3:预留free‑rack缓冲池,定位在10%的free‑rack;所有的集群共  全部
背景技术:
在互联网企业中,随着基于大数据Elasticsearch引擎搭建的搜索存储平台优化 迭代过程中,各类自适应规划算法层出不穷,力求对用户创建的索引数据进行高效合理的 管控,提高集群资源利用率的同时又大大减少人工运维成本。但是随着自适应容量规划算 法的应用,带来的运维成本不断凸显,并且存在集群单节点故障的可能,随着各种集群自适 应算法应用和时间推移,业务需求的不断接入,这种故障变得不再可控。 对比某一互联网企业的自适应集群容量规划算法可知,根据同一个索引模板来创 建的索引数据每天都会分配到不同的集群节点上,这种算法存在以下几个问题: (1)数据热点。算法会一次性将集群中某个节点的空闲空间打满,经常出现一个节 点上存在某个超大数据量的索引,这种情况对后期运维非常不友好,涉及磁盘告警和数据 搬迁时操作复杂,耗时较长; (2)不可容错性。要求自适应集群规划算法任务每天都要成功,不得失败,因为索 引模板分配的节点只能承接一天的量; (3)影响模版范围广。在当前自适应规划算法状态下,侧重于空闲的节点,用户索 引模版数据会不均匀分配到多个集群节点中,有些节点存储模版量多,有些节点存储模版 量小,一旦出现集群某节点故障,该故障节点存在大量模版的情况下,造成严重的数据丢 失,后果不堪设想。 (4)固化的写入瓶颈。基于配额管控用户的索引模板时,当配额内的磁盘被打满 时,容量规划算法下只能通过停止用户写入来管控。但是,对索引中过期数据的处理显然比 停止用户写入来得更优雅。 虽然这种自适应规划算法在一定程度上提升了集群的资源利用率,降低了需要人 工手动分配集群资源带来的运维成本。但是随着业务需求的发展,自适应算法带来其他方 面的运维成本不断凸显,一定程度降低集群的稳定性。因此,需要更有效的集群容量规划策 略来解决当前的痛点。
技术实现要素:
为了克服已有技术的不足,本发明提供了一种基于Quota的集群模糊控制容量规 划方法,将集中于集群级别的资源规划,集群资源规划中的数据存储单元为索引模板,其大 小是基于Quota来管控的,不在支持索引资源需求量的自适应;实现一个能够作用于任何集 群、任何索引模板保存周期的固定资源分配的规划算法;能够定期的检查各个索引模板的 资源是否能够满足Quota需求,并根据统计做出扩缩容调整;提高集群资源利用率,会保证 每个region的资源利用率在合理的范围内,每个模板会占用的资源会固定在region中。 7 CN 111597253 A 说 明 书 2/13 页 本发明解决其技术问题所采用的技术方案是: 一种基于Quota的集群模糊控制容量规划方法,包括以下步骤: 步骤1:模版数据Quota初始化,根据用户方提供的保存周期、每日数据增量折算为 Quota; Quota=(userapply*day)/capnode 其中,userapply为用户申请的资源,day为保存天数,capnode为每个机器节点的磁盘 规格; 步骤2:创建集群region,设计抽象出两层逻辑的概念rack和region来规划集群, 作用层面在region,集群与节点的关系如下所示: 其中,R为集群区域region,r为机架rack,n为rack的个数,n的范围为  30,表示资源利用率大于高水位线,需要扩容,扩容的节点数为count的绝对 值; count<0,表示资源利用率小于低水位线,需要缩容,缩容的节点数为count的绝对 值; 其中,构建f(h)=count模型流程如下: 4.1.3.2.1确定观测量 由上定义集群region低水位线为Low,高水位线为High,实际测得的水位高度为h, 上下限液位差Δe如下: h-Low≤Δe≤h-High 其中对于高低水位线的偏差量Δe作为观测值。 4.1.3.1.2)定义输入输出模糊集 Δe的模糊集均为:{NB ,NM ,NS ,ZO ,PS ,PM ,PB},其中负大(NB)、负中  (NM)负小 (NS)、零(O)、正小(PS)、正中(PM)正大(PB),其中N1、N2为经验值,以下出现N1、N2皆为该意 义; Δe论域,即变化范围为:{-3,-2,-1,0,1,2,3},得到如下集群region  水位变化划 分表1,表1为集群region水位变化划分表; 表1 控制量count为调节集群region的变化阀门,将其分为五个模糊集:负大(NB)、负 中(NM)负小(NS)、零(O)、正小(PS)、正中(PM)正大(PB),并将count 的变化范围分为九个等 级:-4,-3,-2,-1,0, 1, 2, 3, 4,得到集群region  控制量模糊划分表2: 10 CN 111597253 A 说 明 书 5/13 页 表2 4.1.3.1.3)模糊规则的描述 根据日常的经验,设计以下模糊规则: “若Δe负大,则count负大” “若Δe负中,则count负中” “若Δe负小,则count负小” “若Δe为0,则count为0” “若Δe正小,则count正小” “若Δe正中,则count正中” “若Δe正大,则count正大” 其中,region利用率调整时,count为负,增加,count为正,减少。 上述规则采用“IF  A  THEN  B”形式来描述: ifΔe=NB  then  count=NB ifΔe=NM  then  count=NS ifΔe=NS  then  count=NS ifΔe=0then  count=0 ifΔe=PS  then  count=PS ifΔe=PM  then  count=PM ifΔe=PB  then  count=PB 由上经验规则,得模糊控制规则表3。 若 NBe NMe NSe ZOe PSe PMe PBe 则 NBc NMc NSc ZOc PSc PMc PBc 表3 4.1.3.1.4)求模糊关系 模糊控制规则是一个多条语句,它可以表示为U×V上的模糊子集,即模糊关系R: R=(NBe×NBc)∪(NMe×NMc)∪(NSe×NSc)∪  (ZOe×ZOc)∪(PSe×PSc)∪(PMe ×PMc)∪(PBe×PBc) 由上模糊关系,其中规则内的模糊集运算取交集,规则间的模糊集运算取并集,求 11 CN 111597253 A 说 明 书 6/13 页 得 4.1.3.1.5)模糊核心决策 集群region调整输出量为一模糊向量 其中,为矩阵的合成运算; 4.1.3.1.6)根据上述控制输出模糊向量v,再反模糊化得到调整节点count。 优选的,反模糊化方法采用最大隶属度法,选取推理结果模糊集合中隶属度最大 的元素作为输出值,即: count=maxμv(v) ,v∈R 如果在输出论域V中,其最大隶属度对应的输出值多于一个,则取所有具有最大隶 属度输出的平均值,即: 最大隶属度法不考虑输出隶属度函数的形状,只考虑最大隶属度处的输出值; 若 根据隶属度最大原则进行反模糊化,1对 应的隶属度为-4,故选择控制量为count=-4。 所述4.2,容量检查任务的过程为: 4.2.1)执行周期:根据不同场景,定期运行; 4.2.2)算法目标:确保流量突增、用户申请扩容等场景下的资源充足; 4.2.3)算法策略: 依次检查每个region的实际的资源利用率,如果rate0,表示资源利用率大于高水位线,需要扩容,扩容的节点数为  countcount<0,表示 资源利用率小于低水位线,需要缩容,缩容的节点数为  count。 本发明的基于Quota的集群模糊控制容量规划方法,过程为:模版数据Quota  化、 创建集群region、预留region  free-rack缓冲池、根据模糊控制容量规划策略获取每个 region的调整量count、再由count维度执行region资源规划和region资源检测任务、任务 去重操作。 本发明的有益效果主要表现在:1,集群资源规划中的数据存储单元为索引模板, 其大小是基于Quota来管控的,不在支持索引资源需求量的自适应;2,实现一个能够作用于 12 CN 111597253 A 说 明 书 7/13 页 任何集群、任何索引模板保存周期的固定资源分配的规划算法,3,该算法能够定期的检查 各个索引模板的资源是否能够满足Quota需求,并根据统计做出扩缩容调整;4,提高集群资 源利用率,算法会保证每个region的资源利用率在合理的范围内,每个模板会占用的资源 会固定在region中。 附图说明 图1为本发明实施例集群资源分配示意图; 图2为balance-diff策略示意图; 图3是balance-diff策略收益图; 图4为本发明实施例容量规划算法流程图; 图5为本发明实施例region检查任务流程图。
下载此资料需消耗2积分,
分享到:
收藏