技术新讯 > 电子通信装置的制造及其应用技术 > 集群扩缩方法、装置、电子设备及计算机可读介质与流程  >  正文

集群扩缩方法、装置、电子设备及计算机可读介质与流程

  • 国知局
  • 2024-10-09 14:40:17

本技术涉及计算机,特别是涉及一种集群扩缩方法、装置、电子设备及计算机可读介质。

背景技术:

1、随着社会的发展,人们对计算机系统的需求变得多样化和复杂化,需要集成多种设备和服务。为了应对这些挑战,企业采用了分布式架构和微服务模式,将系统拆分为独立组件或服务,以提高系统的灵活性和可扩展性。拆分和优化的策略有助于提高系统的稳定性和响应能力,满足用户需求和适应快速变化的环境。

2、在日志管理场景中,使用elasticsearch(弹性搜索,一个开源的分布式搜索和分析引擎)作为分布式搜索和分析引擎,可以有效进行日志的收集、存储、搜索和可视化。通过分析日志数据,可以进行容量规划和系统性能优化,确保系统具有足够的容量和性能来满足业务需求。

3、然而,面对业务系统规模的波动和扩充,传统的elasticsearch集群(简称es集群)运维依赖于监控告警和手动扩充集群的操作,导致延时高和可用性问题。此外,日志不会一直保存,删除后可能造成资源浪费。

技术实现思路

1、有鉴于此,本技术实施例提供一种集群扩缩方法、装置、电子设备及计算机可读介质,以便克服上述问题或者至少部分地解决上述问题。

2、本技术实施例第一方面提供了一种集群扩缩方法,应用于云平台,所述云平台上部署有集群的多个节点,所述方法包括:

3、采集所述集群中多个节点的使用数据;

4、基于所述集群中多个节点的使用数据,确定所述集群的使用情况,并基于所述集群的使用情况,确定所述集群的扩缩策略;

5、根据所述扩缩策略,对所述集群的节点的数量进行扩容操作或缩容操作。

6、可选地,所述云平台为kubernetes云平台,所述集群为elasticsearch集群,所述elasticsearch集群包含多个数据节点,所述基于所述集群中多个节点的使用数据,确定所述集群的使用情况,包括:

7、在每一个周期,获取预设时间段内采集到的所述elasticsearch集群中包含的多个数据节点的使用数据,其中,每个数据节点的使用数据包括多个资源使用量;

8、计算所述elasticsearch集群在所述预设时间段内的各个资源使用量的平均值;

9、将所述各个资源使用量的平均值与各个资源使用量所对应的预设阈值进行比较,得到所述elasticsearch集群的使用情况;

10、其中,所述各个资源使用量的预设阈值包括预设阈值上限和预设阈值下限。

11、可选地,在所述基于所述集群的使用情况,确定所述集群的扩缩策略之前,还包括:

12、确定触发条件,所述触发条件至少包括任一指标触发;

13、所述基于所述集群的使用情况,确定所述集群的扩缩策略,包括:

14、当所述触发条件为任一指标触发时,判断所述elasticsearch集群的使用情况中是否出现至少一个资源使用量的平均值超过所述至少一个资源使用量对应的预设阈值;

15、当所述elasticsearch集群在所述预设时间段内的使用情况中至少一个资源使用量的平均值大于所述至少一个资源使用量对应的预设阈值上限时,确定所述elasticsearch集群的扩缩策略为所述扩容操作;

16、当所述elasticsearch集群在所述预设时间段内的使用情况中至少一个资源使用量的平均值小于所述至少一个资源使用量对应的预设阈值下限时,确定所述elasticsearch集群的扩缩策略为所述缩容操作。

17、可选地,在所述基于所述集群的使用情况,确定所述集群的扩缩策略之前,还包括:

18、确定触发条件,所述触发条件至少包括全部指标触发;

19、所述基于所述集群的使用情况,确定所述集群的扩缩策略,包括:

20、当所述触发条件为全部指标触发时,判断所述elasticsearch集群的使用情况中是否出现所有的资源使用量的平均值均超过所述所有的资源使用量对应的预设阈值;

21、当所述elasticsearch集群在所述预设时间段内的使用情况中所有的资源使用量的平均值均大于所述所有的资源使用量所对应的预设阈值上限时,确定所述elasticsearch集群的扩缩策略为所述扩容操作;

22、当所述elasticsearch集群在所述预设时间段内的使用情况中所有的资源使用量的平均值均小于所述所有的资源使用量所对应的预设阈值下限时,确定所述elasticsearch集群的扩缩策略为所述缩容操作。

23、可选地,所述基于所述集群的使用情况,确定所述集群的扩缩策略,包括:

24、判断所述elasticsearch集群在所述预设时间段内的使用情况中,至少一个资源使用量的平均值大于所述至少一个资源使用量对应的预设阈值上限的第一持续时长是否大于第一预设时长,以及所述至少一个资源使用量的平均值小于所述至少一个资源使用量对应的预设阈值下限的第二持续时长是否大于第二预设时长;

25、当所述第一持续时长大于所述第一预设时长时,确定所述elasticsearch集群的扩缩策略为扩容操作;

26、当所述第二持续时长大于所述第二预设时长时,确定所述elasticsearch集群的扩缩策略为缩容操作。

27、可选地,所述根据所述扩缩策略,对所述集群的节点的数量进行扩容操作或缩容操作,包括:

28、当确定所述elasticsearch集群的扩缩策略为扩容操作时,请求所述kubernetes云平台上的kubernetes控制器,通过所述kubernetes控制器增加所述elasticsearch集群中的数据节点的个数;

29、当确定所述elasticsearch集群的扩缩策略为扩容操作时,请求所述kubernetes云平台上的kubernetes控制器,通过所述kubernetes控制器减少所述elasticsearch集群中的数据节点的个数,所述方法包括:确定缩容操作所对应的目标数据节点,将所述目标数据节点上的数据迁移至其他数据节点之后,将所述目标数据节点移除。

30、可选地,在所述根据所述扩缩策略,对所述集群的节点的数量进行扩容操作或缩容操作之后,还包括:

31、确定所述elasticsearch集群的数据节点的数量进行扩容操作之后的数据节点的总个数是否大于预设的最大数据节点个数,当进行扩容操作之后的数据节点的总个数大于预设的最大数据节点个数之后,不再继续执行扩容操作;

32、确定所述elasticsearch集群的数据节点的数量进行缩容操作之后的数据节点的总个数是否小于预设的最小数据节点个数,当进行缩容操作之后的数据节点的总个数小于预设的最大数据节点个数之后,不再继续执行缩容操作。

33、本技术实施例第二方面提供了一种集群扩缩装置,应用于云平台,所述云平台上部署有集群的多个节点,所述装置包括:

34、数据采集模块,用于采集所述集群中多个节点的使用数据;

35、集群分析模块,用于基于所述集群中多个节点的使用数据,确定所述集群的使用情况,并基于所述集群的使用情况,确定所述集群的扩缩策略;

36、集群伸缩控制模块,用于根据所述扩缩策略,对所述集群的节点的数量进行扩容操作或缩容操作。

37、本技术实施例第三方面提供了一种电子设备,包括存储器、处理器以及存储在存储器上的计算机程序,其中,所述处理器执行所述计算机程序以实现如第一方面所述的集群扩缩方法。

38、本技术实施例第四方面提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现如第一方面所述的集群扩缩方法。

39、本技术的有益效果:

40、本技术实施例提供一种集群扩缩方法、装置、电子设备及计算机可读介质,应用于云平台,所述云平台上部署有集群的多个节点,所述方法包括:采集所述集群中多个节点的使用数据;基于所述集群中多个节点的使用数据,确定所述集群的使用情况,并基于所述集群的使用情况,确定所述集群的扩缩策略;根据所述扩缩策略,对所述集群的节点的数量进行扩容操作或缩容操作。

41、能够将包含多个节点的集群部署在云平台上,并对集群中各个节点的使用情况进行监控和数据采集,进一步,对集群的使用数据的分析来确定整个集群的使用情况,并确定集群的扩缩策略,自动进行节点数量的扩容或缩容操作。从而能够根据集群节点的使用情况动态调整集群的规模,实现集群的自动化扩缩容。通过根据实际负载情况进行动态调整,可以提高集群的运行效率和资源利用率,同时降低运维成本和人工干预的需求。

本文地址:https://www.jishuxx.com/zhuanli/20241009/306048.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。