CN113076212A - 一种集群的管理方法、装置、设备及计算机可读存储介质 - Google Patents

一种集群的管理方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN113076212A
CN113076212A CN202110334511.7A CN202110334511A CN113076212A CN 113076212 A CN113076212 A CN 113076212A CN 202110334511 A CN202110334511 A CN 202110334511A CN 113076212 A CN113076212 A CN 113076212A
Authority
CN
China
Prior art keywords
cluster
fault
current active
group
standby
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.)
Pending
Application number
CN202110334511.7A
Other languages
English (en)
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.)
Qingdao Telai Big Data Co Ltd
Qingdao Teld New Energy Technology Co Ltd
Original Assignee
Qingdao Telai Big Data Co Ltd
Qingdao Teld New Energy 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 Qingdao Telai Big Data Co Ltd, Qingdao Teld New Energy Technology Co Ltd filed Critical Qingdao Telai Big Data Co Ltd
Priority to CN202110334511.7A priority Critical patent/CN113076212A/zh
Publication of CN113076212A publication Critical patent/CN113076212A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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

Abstract

本申请公开了一种集群的管理方法,该方案中,能够对集群组中的当前活动集群和备用集群进行故障检测,若当前活动集群故障,则从备用集群中确定一个无故障的备用集群,并将无故障的备用集群作为新的当前活动集群,以便新的当前活动集群对外提供数据和计算服务。可见,该方案能够对集群组中的集群进行故障检测并在当前活动集群出现故障时实现集群间的自动切换,对应用层提供不间断服务,实现了集群的高可用性。本申请还公开了一种集群的管理装置、设备及计算机可读存储介质,具有与上述管理方法相同的有益效果。

Description

一种集群的管理方法、装置、设备及计算机可读存储介质
技术领域
本申请涉及集群技术领域,特别是涉及一种集群的管理方法、装置、设备及计算机可读存储介质。
背景技术
随着大数据技术的飞速发展,其在各行各业中的应用也越来越广泛。大量各种不同类型的大数据集群在各企业、政府等组织中建立起来并承载了很多关键应用。其中,很多应用需要提供24小时不间断服务,这就对各大数据集群的高可用性提出了更高的要求。目前缺乏一种适配多种大数据集群的集群故障检测及集群切换的管理方案。
发明内容
本申请的目的是提供一种集群的管理方法、装置、设备及计算机可读存储介质,在当前活动集群出现故障时实现集群间的自动切换,对应用层提供不间断服务,实现了集群的高可用性。
为解决上述技术问题,本申请提供了一种集群的管理方法,包括:
对集群组中的集群进行故障检测,所述集群组包括当前活动集群和备用集群;
若所述当前活动集群故障,从所述备用集群中确定一个无故障的备用集群;
将所述无故障的备用集群作为新的当前活动集群,以便所述新的当前活动集群对外提供数据和计算服务。
优选地,对集群组中的集群进行故障检测,包括:
确定所述集群组中各个集群的检测地址;
调用与所述集群组对应的检测插件的实例并基于所述集群组中各个集群的检测地址对集群组中的各个集群进行检测;
基于所述集群组中的各个集群的响应及预设检测逻辑判定所述集群组中的各个集群是否发生故障。
优选地,基于所述集群组中的各个集群的响应及预设检测逻辑判定所述集群组中的各个集群是否发生故障之后,还包括:
在判定所述集群组中各个集群均未发生故障时,按照预设检测周期执行调用与所述集群组对应的检测插件的实例并基于所述集群组中各个集群的检测地址对集群组中的各个集群进行检测的步骤。
优选地,若所述当前活动集群故障,基于所述集群组中的各个集群的响应及预设检测逻辑判定所述集群组中的各个集群是否发生故障之后,还包括:
在判定所述集群组中存在集群发生故障时,将故障集群的故障事件推送给预警模块和/或自动运维模块。
优选地,将所述无故障的备用集群作为新的当前活动集群,包括:
将透明代理的配置文件中所述集群组的活动集群属性值由故障的当前活动集群的标识修改为所述无故障的备用集群的标识。
优选地,将所述无故障的备用集群作为新的当前活动集群之后,还包括:
在接收到应用层发送的应用请求后,通过透明代理解析所述应用请求,得到解析结果;
从所述配置文件中查找与所述解析结果对应的集群组的活动集群属性值;
确定与查找到的活动集群属性值对应的当前活动集群;
将所述应用请求转发至确定的当前活动集群;
将所述确定的当前活动集群返回的响应通过透明代理发送至所述应用层。
优选地,所述透明代理为多个时,将透明代理的配置文件中所述集群组的活动集群属性值由故障的当前活动集群的标识修改为所述无故障的备用集群的标识,包括:
将所有透明代理的配置文件中所述集群组的活动集群属性值均由故障的当前活动集群的标识修改为所述无故障的备用集群的标识;
在接收到应用层发送的应用请求后,通过透明代理解析所述应用请求之前,还包括:
通过负载均衡单元从多个所述透明代理中选出一个透明代理;
将所述确定的当前活动集群返回的响应通过所述透明代理发送至所述应用层,包括:
将所述确定的当前活动集群返回的响应通过所述透明代理发送至所述负载均衡单元;
通过所述负载均衡单元将所述确定的当前活动集群返回的响应发送至所述应用层。
为解决上述技术问题,本申请还提供了一种集群的管理装置,包括:
故障检测模块,用于对集群组中的集群进行故障检测,所述集群组包括当前活动集群和备用集群;
确定模块,用于若所述当前活动集群故障,从所述备用集群中确定一个无故障的备用集群;
集群切换模块,用于将所述无故障的备用集群作为新的当前活动集群,以便所述新的当前活动集群对外提供数据和计算服务。
为解决上述技术问题,本申请还提供了一种集群的管理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述集群的管理方法的步骤。
为解决上述技术问题,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述集群的管理方法的步骤。
本申请提供了一种集群的管理方法,该方案中,能够对集群组中的当前活动集群和备用集群进行故障检测,若当前活动集群故障,则从备用集群中确定一个无故障的备用集群,并将无故障的备用集群作为新的当前活动集群,以便新的当前活动集群对外提供数据和计算服务。可见,该方案能够对集群组中的集群进行故障检测并在当前活动集群出现故障时实现集群间的自动切换,对应用层提供不间断服务,实现了集群的高可用性。
本申请还提供了一种集群的管理装置、设备及计算机可读存储介质,具有与上述管理方法相同的有益效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请提供的一种集群的管理方法的过程流程图;
图2为本申请提供的一种应用层请求解析流程图;
图3为本申请提供的一种集群的管理架构图;
图4为本申请提供的一种集群的实例场景功能框架图;
图5为本申请提供的一种故障检测及地址切换流程图;
图6为本申请提供的一种集群的管理装置的结构示意图;
图7为本申请提供的一种集群的管理设备的结构示意图。
具体实施方式
本申请的核心是提供一种集群的管理方法、装置、设备及计算机可读存储介质,在当前活动集群出现故障时实现集群间的自动切换,对应用层提供不间断服务,实现了集群的高可用性。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参照图1,图1为本申请提供的一种集群的管理方法的过程流程图。
该管理方法包括:
S11:对集群组中的集群进行故障检测,集群组包括当前活动集群和备用集群;
S12:若当前活动集群故障,从备用集群中确定一个无故障的备用集群;
S13:将无故障的备用集群作为新的当前活动集群,以便新的当前活动集群对外提供数据和计算服务。
本申请中,集群可以但不仅限为Elasticsearch,HBase,Druid,Flink,Spark等物理集群。集群组是对外提供统一服务的集群,是一个逻辑概念。集群组中至少包括两个集群,集群组中的所有集群均存储有需要实现故障转移需求的业务应用所需的相同的数据。集群组中的至少2个集群,一个为当前活动集群,其余的为备用集群,当前活动集群和备用集群可以切换,一个集群组中同时只有一个集群为活动集群。由于默认集群组中的当前活动集群对外提供数据和计算服务,因此,只要集群组中的当前活动集群一旦确定,则后续便由该当前活动集群对外提供数据和计算服务。
此外,不同集群组中的集群可以相同,可以不全相同,也可以全不相同。以两个集群组中的集群相同为例,集群1存储的A业务应用对应地数据和集群2存储的A业务应用对应地数据可以构成一个集群组,集群1存储的B业务应用对应地数据和集群2存储的B业务应用对应地数据可以构成另一个集群组。此外,可以默认上述两个集群组的当前活动集群分别对应不同集群,这样,发生故障时可进行切换,以支持双集群双活及默认情况下服务的物理隔离。
为了保证集群组的高可用性,本申请的方案中,首先对集群组中的集群进行故障检测,具体可对集群组中的所有集群进行故障检测,也即对集群组中的当前活动集群和所有备用集群进行故障检测,也可以对集群组中的当前活动集群和部分备用集群进行故障检测。此外,这里的集群组可以为一个,也可以为多个。若当前活动集群故障,则可以从备用集群中确定一个无故障的备用集群,并将无故障的备用集群该集群组中新的当前活动集群,后续该新的当前活动集群对外提供数据和计算服务。
此外,可以对集群的故障检测定义不同类型,如集群存活检测,程序存活检测,自定义埋点检测等,本申请在此不作特别的限定。
可见,该方案能够对集群组中的集群进行故障检测并在当前活动集群出现故障时实现集群间的自动切换,对应用层提供不间断服务,实现了集群的高可用性。
在上述实施例的基础上:
作为一种优选地实施例,对集群组中的集群进行故障检测,包括:
确定集群组中各个集群的检测地址;
调用与集群组对应的检测插件的实例并基于集群组中各个集群的检测地址对集群组中的各个集群进行检测;
基于集群组中的各个集群的响应及预设检测逻辑判定集群组中的各个集群是否发生故障。
具体地,集群组中的各个集群均包括检测地址和集群服务地址,其中,检测地址用以供检测插件检测集群服务状态时使用,集群服务地址用以对外提供业务应用服务时使用,部分集群中,这两个地址是相同的。请参照表1,表1为本申请提供的一种两个集群的信息表:
表1集群信息表
集群ID 集群名称 可用性检测地址 服务 集群服务地址
ESCluster1 ES业务集群1 http://192.168.2.111:9200 数据查询接口 http://192.168.2.111:8080
ESCluster2 ES业务集群2 http://192.168.2.222:9200 数据查询接口 http://192.168.2.222:8080
在对集群组中的集群进行故障检测时,根据配置绑定信息确定集群组中各个集群的检测地址,并加载检测插件,创建检测插件的实例,其中,不同的集群组,其检测插件可能相同,也可能不同,调用与集群组对应的检测插件的实例并结合集群组中各个集群的检测地址对集群组中的各个集群进行检测,基于集群组中各个集群的响应及预设检测逻辑判定集群组中的各个集群是否发生故障。
可见,本申请的方案能够实现对集群组中的各个集群进行故障检测,为实现故障集群的切换奠定基础。
作为一种优选地实施例,基于集群组中的各个集群的响应及预设检测逻辑判定集群组中的各个集群是否发生故障之后,还包括:
在判定集群组中各个集群均未发生故障时,按照预设检测周期执行调用与集群组对应的检测插件的实例并基于集群组中各个集群的检测地址对集群组中的各个集群进行检测的步骤。
具体地,在判定集群组中各个集群均未发生故障时,则按照预设检测周期调用检测插件,继续对集群组中的各个集群进行故障检测。其中,上述预设检测周期可以根据需求设置。
通过该种方式能够对集群组中的各个集群进行持续性自动故障检测,一旦当前活动集群出现故障,便可立即将当前活动集群切换为确定的无故障的备用集群,从而使得集群组对应用层提供不间断服务,实现了集群的高可用性。
作为一种优选地实施例,若当前活动集群故障,基于集群组中的各个集群的响应及预设检测逻辑判定集群组中的各个集群是否发生故障之后,还包括:
在判定集群组中存在集群发生故障时,将故障集群的故障事件推送给预警模块和/或自动运维模块。
具体地,若集群组中存在集群发生故障,则不管是当前活动集群故障还是备用集群故障,均可以将故障集群的故障事件推送给预警模块和/或自动运维模块,以便预警模块对故障事件进行预警,自动运维模块自动对相应集群进行运维操作。可见,通过该种方式能够进一步提高集群组的可靠性。
作为一种优选地实施例,将无故障的备用集群作为新的当前活动集群,包括:
将透明代理的配置文件中集群组的活动集群属性值由故障的当前活动集群的标识修改为无故障的备用集群的标识。
透明代理对应用层的客户端提供统一的连接地址,是应用层和集群之间数据通信的桥梁。透明代理中设置有集群组中各个集群的配置信息,配置信息包括集群组的活动集群属性值,通过对集群组的活动集群属性值进行设置来对集群组中的当前活动集群进行设置。具体地,在应用层的客户端发送应用请求后,透明代理能够解析应用请求,并集合配置文件将应用请求转发至相应的当前活动集群,然后接收相应的当前活动集群返回的响应,并将该响应发送至应用层的客户端。
为了对应用层的客户端屏蔽集群组中的集群切换事件,提高用户体验,本申请中,在集群组中的当前活动集群出现故障并选择出无故障的备用集群时,将透明代理的配置文件中集群组的活动集群属性值由故障的当前活动集群的标识修改无故障的备用集群的标识,从而实现将当前活动集群由之前的故障的集群修改为选择的无故障的备用集群。其中,集群的标识是集群的身份象征,用于唯一表征集群。
可见,通过该种切换方式,无需对应用层的客户端做任何修改,也即应用层对于集群的切换是无感知的,提高了用户体验。
作为一种优选地实施例,将无故障的备用集群作为新的当前活动集群之后,还包括:
在接收到应用层发送的应用请求后,通过透明代理解析应用请求,得到解析结果;
从配置文件中查找与解析结果对应的集群组的活动集群属性值;
确定与查找到的活动集群属性值对应的当前活动集群;
将应用请求转发至确定的当前活动集群;
将确定的当前活动集群返回的响应通过透明代理发送至应用层。
请参照图2,图2为本申请提供的一种应用层请求解析流程图。
在将无故障的备用集群作为新的当前活动集群之后,则集群组中的当前活动集群是正常工作的。在接收到应用层发送的应用请求后,透明代理解析应用请求,得到解析结果,从配置文件中查找与解析结果对应的集群组的活动集群属性值,进而确定该应用请求对应的当前活动集群,并将应用请求转发至确定的当前活动集群,确定的当前活动集群处理该应用请求,并向透明代理发送响应,透明代理再将响应发送至应用层。
可见,通过将透明代理的配置文件中集群组的活动集群属性值由故障的当前活动集群的标识修改为无故障的备用集群的标识进行故障的当前活动集群与无故障集群进行切换后,使得集群组对应用层提供不间断服务,实现了集群的高可用性。
作为一种优选地实施例,透明代理为多个时,将透明代理的配置文件中集群组的活动集群属性值由故障的当前活动集群的标识修改为无故障的备用集群的标识,包括:
将所有透明代理的配置文件中集群组的活动集群属性值均由故障的当前活动集群的标识修改为无故障的备用集群的标识;
在接收到应用层发送的应用请求后,通过透明代理解析应用请求之前,还包括:
通过负载均衡单元从多个透明代理中选出一个透明代理;
将确定的当前活动集群返回的响应通过透明代理发送至应用层,包括:
将确定的当前活动集群返回的响应通过透明代理发送至负载均衡单元;
通过负载均衡单元将确定的当前活动集群返回的响应发送至应用层。
具体地,考虑到集群组可能为多个,有各种业务应用需求的应用层的客户端,所有的应用层都通过一个透明代理访问集群组的话,一旦该透明代理出现故障,则会导致所有集群组不可用,降低了集群组的可靠性。
为了解决上述技术问题,本申请中,透明代理为多个,且各个透明代理的配置文件是相同的。在将故障的当前活动集群与无故障集群进行切换时,将所有透明代理的配置文件中集群组的活动集群属性值均由故障的当前活动集群的标识修改为无故障的备用集群的标识。在应用层发送应用请求后,负载均衡单元会首先接收到应用请求,然后基于均衡策略从多个透明代理中选出一个透明代理,并将该应用请求转发至选出的透明代理。后续透明代理在接收到集群返回的响应后,也会先将响应发送至负载均衡单元,然后由负载均衡单元将响应发送至应用层。
具体地,上述均衡策略具体可以为:预先设定多个透明代理的应用请求接收顺序,在接收到应用请求后,按照应用请求接收顺序将应用请求发送至相应的透明代理。例如有A透明代理、B透明代理及C透明代理,则应用请求接收顺序为A透明代理-B透明代理-C透明代理-A透明代理。此外,上述均衡策略还可以为确定各个透明代理的当前负载量,从各个透明代理中选择当前负载量最小的透明代理作为发送当前应用请求的透明代理。本申请对于均衡策略不作特别的限定,根据实际情况来定。
可见,通过该种方式可以避免透明代理单点故障,进一步使得集群组对应用层提供不间断服务,实现了集群的高可用性。
为方便对本申请提供的集群的管理方法的理解,下面对集群的管理方法作进一步介绍:
请参照图3和图4,其中,图3为本申请提供的一种集群的管理架构图,图4为本申请提供的一种集群的实例场景功能框架图。
管理框架包括物理集群、故障转移层和应用层,其中,故障转移层包括故障雷达、事件中心、透明代理和负载均衡单元。在实际应用中,故障雷达和事件中心可以设置在一个服务器上,透明代理和负载均衡可以设置在一个服务器上,当然,也可以将故障雷达、事件中心、透明代理和负载均衡单元都设置在一个服务器上。
具体地,应用层是基于各集群组中的集群的相关应用,这些应用从各集群组的集群中获取数据或利用其计算能力进行相关数据处理等。
应用层不直接访问集群组中的集群,而是通过故障转移层的透明代理对各大数据集群进行访问。
故障转移层是实现通用的对各种类型的集群的可用性检测及在不同集群间切换的方法的主要部分。负责对应用层提供数据和计算能力访问接口,对集群提供故障检测和集群切换服务。物理集群的切换对应用层是透明的,即发生集群切换时应用层无感知,对业务应用没有影响。
关于故障雷达:
故障雷达对各集群提供统一的检测服务,负载对各集群组中的集群进行检测,产生相应事件并推送到事件中心,故障雷达具有如下特征:
1)可检测目标:对集群的检测可以定义不同类型,如集群存活检测,程序存活检测,自定义埋点检测等。
2)事件推送服务:事件推送服务接收不同目标检测产生的不同事件,推送到事件中心,也即消息队列同一队列,订阅端通过类型区分,只处理感兴趣事件。
3)事件检测服务:故障雷达服务提供统一接口,对各集群的检测功能由插件方式实现。故障雷达以统一的方式调度各故障检测插件对集群进行故障检测,产生不同类型的故障消息并发送给事件推送服务。
4)集群检测插件:集群检测插件实现事件检测服务提供的同一接口,负责对相应集群的具体检测逻辑的实现。
关于事件中心:
接收事件推送服务发出的事件并推送给相关订阅者。同一事件可由多个订阅者进行订阅,如透明代理订阅集群故障事件以进行集群切换,自动运维模块订阅集群故障事件以进行自动运维,预警模块订阅集群故障事件以进行预警等。
请参照图5,图5为本申请提供的一种故障检测及地址切换流程图。
1.故障雷达启动,调用各集群组对应的检测插件的检测方法进行轮询检测。
2.各集群组对应的检测插件调用各集群检测接口对各集群进行故障检测。
3.检测插件根据集群响应及检测逻辑判断是否集群产生故障。
4.如果未产生故障,则返回NULL,故障雷达将继续按预设检测周期调用检测插件。
5.如果产生故障,则检测插件生成故障事件并返回给故障雷达。
6.故障雷达将故障事件发送到事件中心。
7.事件中心接收事件并将故障事件推送给各订阅者。透明代理是其中一个订阅者。
8.透明代理解析事件,执行相应地址切换。应用层的客户端请求的具体物理集群指向被改变。下次应用请求将会被转发到新的集群。
下面列举具体实例来对本申请作介绍:
现有两个物理ES集群,ESCluster1与ESCluster2且这两个集群存储有需要实现故障转移需求的业务应用所需的相同的数据。ESCluster1与ESCluster2的基本信息请参照上述表1。
集群组划分:
将ESCluster1与ESCluster2划分到同一个集群组ESBZGroup1。请参照表2,表2为本申请提供的一种集群组的信息表。
表2集群组信息表
Figure BDA0002997581310000121
集群组与集群的关联在透明代理的配置文件中体现。
负载均衡配置:
为避免透明代理的单点故障,创建负载均衡单元,负载均衡单元指向多个相同配置的透明代理。应用层通过负载均衡单元对透明代理进行访问。应用层请求负载均衡单元的地址和端口。负载均衡单元将应用请求分发到其中一个透明代理实例。请参照表3,表3为本申请提供的一种负载均衡单元与透明代理的信息表。
表3负载均衡单元与透明代理信息表
Figure BDA0002997581310000122
透明代理配置:
透明代理配置三个实例,IP地址分别为192.168.2.1,192.168.2.2,192.168.2.3。示例中透明代理使用NginX实现,也可以由其他有相同功能的框架替代,主要利用Nginx的动态路由及请求转发功能。三个透明代理实例配置相同,以下为应用请求映射及转发规则:
表4应用请求映射及转发规则表
Figure BDA0002997581310000123
Figure BDA0002997581310000131
故障雷达配置:
表5故障雷达插件配置表
Figure BDA0002997581310000132
Figure BDA0002997581310000141
目标集群配置:
表6目标集群配置表
Figure BDA0002997581310000142
应用层请求的解析流程实例:
1.应用层发起应用请求
http://192.168.2.123:6789/ES/ESBZGroup1/8080?sql=select*fromtesttable。
2. 192.168.2.123:6789为负载均衡单元的地址和端口,负载均衡单元进行应用请求的分发,假定应用请求转发至透明代理之一192.168.2.1:6789。
3.地址为192.168.2.1的透明代理解析集群类型ES,集群组ESBZGroup1及服务端口8080。透明代理解析地址中各部分后,在配置文件中查找到clusters.ES.ESBZGroup1.8080对应的属性值为“ESCluster1”,即当前活动集群。接着查找到clusters.ES.ESBZGroup1.8080.ESCluster1对应值为http://192.168.2.111:8080,即当前活动集群的服务地址。
4.ESCluster1集群收到应用请求并处理应用请求。
5.ESCluster1集群将响应发送给透明代理192.168.2.1。
6.透明代理192.168.2.1将请求转发至负载均衡单元192.168.2.123。
7.负载均衡单元192.168.2.123将响应发送给应用层。
8.应用层接收响应,并执行相应业务逻辑。
故障检测及地址切换流程实例:
1.故障雷达启动,加载类型
“BDP.FailOver.Raidar.Plugin.ES.ClusterFailCheck”的插件,创建插件ID为Instance1的实例,并定时调用插件实例的检测方法。
2.ID为Instance1的ES检测插件根据配置绑定信息找到”ESBZGroup1”集群组对应的ESCluster1和ESCluster2集群服务可用性检测地址(ES集群状态API)http://192.168.2.111:9200和http://192.168.2.222:9200。
3.ID为Instance1的ES检测插件分别请求ESCluster1和ESCluster2集群的服务可用性检测地址,并接收请求响应。
4.如果ES集群状态API返回Green,则表示未产生故障,则返回NULL,故障雷达将继续按既定频率调用检测插件。
5.根据插件内部检测逻辑,如果ESCluster1集群状态API连续两次返回Red则检测插件生成故障事件并返回给故障雷达。
6.故障雷达将ESCluster1产生故障事件发送到事件中心。
7.事件中心接收ESCluster1产生故障事件并将故障事件推送给各订阅者。三个透明代理都是事件订阅者。
8.透明代理解析事件,修改配置文件中当前活动集群属性clusters.ES.ESBZGroup1.8080的值为ESCluster2。客户端请求的具体物理集群指向被改变。下次应用请求将会被转发到新的物理集群,从而实现了故障转移。
综上,本申请提供的方案能够对集群组中的集群进行故障检测并在当前活动集群出现故障时实现集群间的自动切换,对应用层提供不间断服务,实现了集群的高可用性。
请参照图6,图6为本申请提供的一种集群的管理装置的结构示意图。该管理装置包括:
故障检测模块61,用于对集群组中的集群进行故障检测,集群组包括当前活动集群和备用集群;
确定模块62,用于若当前活动集群故障,从备用集群中确定一个无故障的备用集群;
集群切换模块63,用于将无故障的备用集群作为新的当前活动集群,以便新的当前活动集群对外提供数据和计算服务。
对于本申请提供的一种集群的管理装置的介绍请参照上述方法实施例,本申请在此不再赘述。
请参照7,图7为本申请提供的一种集群的管理设备的结构示意图。该管理设备包括:
存储器71,用于存储计算机程序;
处理器72,用于执行计算机程序时实现如上述集群的管理方法的步骤。
对于本申请提供的一种集群的管理设备的介绍请参照上述方法实施例,本申请在此不再赘述。
本申请还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述集群的管理方法的步骤。
对于本申请提供的一种计算机可读存储介质的介绍请参照上述方法实施例,本申请在此不再赘述。
需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其他实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种集群的管理方法,其特征在于,包括:
对集群组中的集群进行故障检测,所述集群组包括当前活动集群和备用集群;
若所述当前活动集群故障,从所述备用集群中确定一个无故障的备用集群;
将所述无故障的备用集群作为新的当前活动集群,以便所述新的当前活动集群对外提供数据和计算服务。
2.如权利要求1所述的集群的管理方法,其特征在于,对集群组中的集群进行故障检测,包括:
确定所述集群组中各个集群的检测地址;
调用与所述集群组对应的检测插件的实例并基于所述集群组中各个集群的检测地址对集群组中的各个集群进行检测;
基于所述集群组中的各个集群的响应及预设检测逻辑判定所述集群组中的各个集群是否发生故障。
3.如权利要求2所述的集群的管理方法,其特征在于,基于所述集群组中的各个集群的响应及预设检测逻辑判定所述集群组中的各个集群是否发生故障之后,还包括:
在判定所述集群组中各个集群均未发生故障时,按照预设检测周期执行调用与所述集群组对应的检测插件的实例并基于所述集群组中各个集群的检测地址对集群组中的各个集群进行检测的步骤。
4.如权利要求2所述的集群的管理方法,其特征在于,基于所述集群组中的各个集群的响应及预设检测逻辑判定所述集群组中的各个集群是否发生故障之后,还包括:
在判定所述集群组中存在集群发生故障时,将故障集群的故障事件推送给预警模块和/或自动运维模块。
5.如权利要求1至4任一项所述的集群的管理方法,其特征在于,将所述无故障的备用集群作为新的当前活动集群,包括:
将透明代理的配置文件中所述集群组的活动集群属性值由故障的当前活动集群的标识修改为所述无故障的备用集群的标识。
6.如权利要求5所述的集群的管理方法,其特征在于,将所述无故障的备用集群作为新的当前活动集群之后,还包括:
在接收到应用层发送的应用请求后,通过透明代理解析所述应用请求,得到解析结果;
从所述配置文件中查找与所述解析结果对应的集群组的活动集群属性值;
确定与查找到的活动集群属性值对应的当前活动集群;
将所述应用请求转发至确定的当前活动集群;
将所述确定的当前活动集群返回的响应通过所述透明代理发送至所述应用层。
7.如权利要求6所述的集群的管理方法,其特征在于,所述透明代理为多个时,将透明代理的配置文件中所述集群组的活动集群属性值由故障的当前活动集群的标识修改为所述无故障的备用集群的标识,包括:
将所有透明代理的配置文件中所述集群组的活动集群属性值均由故障的当前活动集群的标识修改为所述无故障的备用集群的标识;
在接收到应用层发送的应用请求后,通过透明代理解析所述应用请求之前,还包括:
通过负载均衡单元从多个所述透明代理中选出一个透明代理;
将所述确定的当前活动集群返回的响应通过所述透明代理发送至所述应用层,包括:
将所述确定的当前活动集群返回的响应通过所述透明代理发送至所述负载均衡单元;
通过所述负载均衡单元将所述确定的当前活动集群返回的响应发送至所述应用层。
8.一种集群的管理装置,其特征在于,包括:
故障检测模块,用于对集群组中的集群进行故障检测,所述集群组包括当前活动集群和备用集群;
确定模块,用于若所述当前活动集群故障,从所述备用集群中确定一个无故障的备用集群;
集群切换模块,用于将所述无故障的备用集群作为新的当前活动集群,以便所述新的当前活动集群对外提供数据和计算服务。
9.一种集群的管理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述集群的管理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述集群的管理方法的步骤。
CN202110334511.7A 2021-03-29 2021-03-29 一种集群的管理方法、装置、设备及计算机可读存储介质 Pending CN113076212A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110334511.7A CN113076212A (zh) 2021-03-29 2021-03-29 一种集群的管理方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110334511.7A CN113076212A (zh) 2021-03-29 2021-03-29 一种集群的管理方法、装置、设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN113076212A true CN113076212A (zh) 2021-07-06

Family

ID=76611080

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110334511.7A Pending CN113076212A (zh) 2021-03-29 2021-03-29 一种集群的管理方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN113076212A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114553747A (zh) * 2022-02-22 2022-05-27 度小满科技(北京)有限公司 redis集群的异常检测方法、装置、终端及存储介质
CN114598594A (zh) * 2022-03-14 2022-06-07 上海道客网络科技有限公司 一种多集群下应用故障的处理方法、系统、介质和设备
CN115567549A (zh) * 2022-09-22 2023-01-03 中国联合网络通信集团有限公司 数据缓存方法、装置、电子设备和可读存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7954144B1 (en) * 2000-01-18 2011-05-31 Novell, Inc. Brokering state information and identity among user agents, origin servers, and proxies
CN102447708A (zh) * 2012-01-14 2012-05-09 杭州安恒信息技术有限公司 一种应用层透明代理技术的通信实现方法
CN106874027A (zh) * 2016-12-25 2017-06-20 北京通途永久科技有限公司 一种基于插件方式的交通行业数据质量监测平台
CN109842566A (zh) * 2019-01-10 2019-06-04 杭州迪普科技股份有限公司 一种dns解析方法及装置
CN110377459A (zh) * 2019-06-28 2019-10-25 苏州浪潮智能科技有限公司 一种容灾系统、容灾处理方法、监控节点和备份集群
CN111614484A (zh) * 2020-04-13 2020-09-01 网宿科技股份有限公司 一种节点流量的调入、恢复方法、系统及中心服务器
CN111858190A (zh) * 2020-06-15 2020-10-30 福建天泉教育科技有限公司 提高集群可用性的方法及其系统
CN112000735A (zh) * 2020-08-05 2020-11-27 中国邮政储蓄银行股份有限公司 一种数据处理方法、装置、系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7954144B1 (en) * 2000-01-18 2011-05-31 Novell, Inc. Brokering state information and identity among user agents, origin servers, and proxies
CN102447708A (zh) * 2012-01-14 2012-05-09 杭州安恒信息技术有限公司 一种应用层透明代理技术的通信实现方法
CN106874027A (zh) * 2016-12-25 2017-06-20 北京通途永久科技有限公司 一种基于插件方式的交通行业数据质量监测平台
CN109842566A (zh) * 2019-01-10 2019-06-04 杭州迪普科技股份有限公司 一种dns解析方法及装置
CN110377459A (zh) * 2019-06-28 2019-10-25 苏州浪潮智能科技有限公司 一种容灾系统、容灾处理方法、监控节点和备份集群
CN111614484A (zh) * 2020-04-13 2020-09-01 网宿科技股份有限公司 一种节点流量的调入、恢复方法、系统及中心服务器
CN111858190A (zh) * 2020-06-15 2020-10-30 福建天泉教育科技有限公司 提高集群可用性的方法及其系统
CN112000735A (zh) * 2020-08-05 2020-11-27 中国邮政储蓄银行股份有限公司 一种数据处理方法、装置、系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114553747A (zh) * 2022-02-22 2022-05-27 度小满科技(北京)有限公司 redis集群的异常检测方法、装置、终端及存储介质
CN114598594A (zh) * 2022-03-14 2022-06-07 上海道客网络科技有限公司 一种多集群下应用故障的处理方法、系统、介质和设备
CN114598594B (zh) * 2022-03-14 2023-08-11 上海道客网络科技有限公司 一种多集群下应用故障的处理方法、系统、介质和设备
CN115567549A (zh) * 2022-09-22 2023-01-03 中国联合网络通信集团有限公司 数据缓存方法、装置、电子设备和可读存储介质

Similar Documents

Publication Publication Date Title
CN113076212A (zh) 一种集群的管理方法、装置、设备及计算机可读存储介质
US7185096B2 (en) System and method for cluster-sensitive sticky load balancing
US8954391B2 (en) System and method for supporting transient partition consistency in a distributed data grid
JP5381998B2 (ja) クラスタ制御システム、クラスタ制御方法、及びプログラム
US8856581B2 (en) Method for resource information backup operation based on peer to peer network and peer to peer network thereof
US20210014106A1 (en) High availability on a distributed networking platform
WO2004036344A2 (en) System and method for the optimization of database
US20040221207A1 (en) Proxy response apparatus
CN102025630A (zh) 负载均衡方法及负载均衡系统
CN108881512B (zh) Ctdb的虚拟ip均衡分配方法、装置、设备及介质
WO2019210580A1 (zh) 访问请求处理方法、装置、计算机设备和存储介质
CN106713378B (zh) 实现多个应用服务器提供服务的方法和系统
US9390156B2 (en) Distributed directory environment using clustered LDAP servers
US20220131935A1 (en) Service Unit Switching Method, System, and Device
CN109688006B (zh) 支持目标集群动态探测的高性能网络日志消息分发方法
CN113347037A (zh) 一种数据中心访问方法及装置
US10904327B2 (en) Method, electronic device and computer program product for searching for node
CN110198221A (zh) 一种负载均衡的实现方法、装置及系统
CN115002205B (zh) 一种基于表路由代理模式的Kapacitor集群方法
Gedik et al. Reliable peer-to-peer information monitoring through replication
US8260962B1 (en) Donor/borrower incident notification for daemons
JP4123440B2 (ja) オブジェクト指向のネットワーク分散型コンピューティングシステム、その負荷分散装置及びサーバ
Alipour et al. Towards HSS as a virtualized service for 5G networks
CN111800457A (zh) 优化路由分配的方法、存储介质
CN117675943A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210706

RJ01 Rejection of invention patent application after publication