CN112714022A - 多套集群的控制处理方法、装置及计算机设备 - Google Patents
多套集群的控制处理方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN112714022A CN112714022A CN202011599607.8A CN202011599607A CN112714022A CN 112714022 A CN112714022 A CN 112714022A CN 202011599607 A CN202011599607 A CN 202011599607A CN 112714022 A CN112714022 A CN 112714022A
- Authority
- CN
- China
- Prior art keywords
- mha
- mysql
- node
- global configuration
- configuration file
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/042—Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Abstract
本申请公开了一种多套集群的控制处理方法、装置及计算机设备,涉及分布式技术领域。其中方法包括:首先获取各套MySQL集群的MHA全局配置文件;分别对各套MySQL集群的MHA全局配置文件进行重命名;将重命名后的各个MHA全局配置文件内用于控制MySQL集群主从节点切换的目标脚本的配置项中,添加各自对应MySQL集群的地址信息;执行各个MHA全局配置文件内的目标脚本,控制各个地址信息对应的各套MySQL集群中的主节点和从节点进行主从切换。本申请可实现一套管理节点可有效管理多套MySQL集群,降低管理节点资源浪费。此外,本申请还涉及区块链技术,修改后的MHA全局配置文件数据可存储于区块链中,以保证数据私密和安全性。
Description
技术领域
本申请涉及分布式技术领域,尤其是涉及到一种多套集群的控制处理方法、装置及计算机设备。
背景技术
随着计算机和信息技术的迅猛发展和普及,行业应用系统的规模迅速扩大,行业应用所产生的数据量量呈爆炸式增长,动辄达到数百TB甚至数百PB规模,已远远超出现有的传统计算技术和信息系统的处理能力,而集中式数据库面对大规模数据处理逐渐表现出其局限性,因此,人们希望寻找一种能快速处理数据和及时响应用户访问的方法,也希望对数据进行集中分析、管理和维护。这已成为现实世界的迫切需求。
分布式数据库是在集中式数据库的基础上发展起来的,是计算机技术和网络技术结合的产物。分布式数据库是指数据在物理上分布而逻辑上集中管理的数据库系统。物理上分布指的是分布式数据库的数据分布在物理位置不同并由网络连接的节点或站点上;逻辑上集中是指各数据库之间在逻辑上是一个整体,并由统一的数据库管理系统管理。不同的节点分布可以跨不同的机房、城市甚至国家。
目前,MySQL群集是MySQL适合于分布式计算环境的高可用、高冗余版本。然而,本发明创造的发明人在研究中发现,现有的开源MHA(Master High Availability)高可用方案,一套管理节点只能控制管理一套MySQL集群,搭建多套MySQL集群,需要多套管理节点,过多的管理节点会造成管理节点资源浪费。
发明内容
有鉴于此,本申请提供了一种多套集群的控制处理方法、装置及计算机设备,主要目的在于改善目前需要多套管理节点控制管理多套MySQL集群,过多的管理节点会造成管理节点资源浪费的技术问题。
根据本申请的一个方面,提供了一种多套集群的控制处理方法,该方法包括:
获取各套MySQL集群的MHA全局配置文件;
分别对所述各套MySQL集群的MHA全局配置文件进行重命名,其中,每个重命名后的MHA全局配置文件各自对应一套MySQL集群;
将重命名后的各个MHA全局配置文件内用于控制MySQL集群主从节点切换的目标脚本的配置项中,添加各自对应MySQL集群的地址信息;
执行所述各个MHA全局配置文件内的目标脚本,控制各个地址信息对应的所述各套MySQL集群中的主节点和从节点进行主从切换。
根据本申请的另一个方面,提供了一种多套集群的控制处理装置,该装置包括:
获取模块,用于获取各套MySQL集群的MHA全局配置文件;
修改模块,用于分别对所述各套MySQL集群的MHA全局配置文件进行重命名,其中,每个重命名后的MHA全局配置文件各自对应一套MySQL集群;将重命名后的各个MHA全局配置文件内用于控制MySQL集群主从节点切换的目标脚本的配置项中,添加各自对应MySQL集群的地址信息;
控制模块,用于执行所述各个MHA全局配置文件内的目标脚本,控制各个地址信息对应的所述各套MySQL集群中的主节点和从节点进行主从切换。
根据本申请的又一个方面,提供了一种非易失性可读存储介质,其上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现上述多套集群的控制处理方法。
根据本申请的再一个方面,提供了一种计算机设备,包括非易失性可读存储介质、处理器及存储在非易失性可读存储介质上并可在处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现上述多套集群的控制处理方法。
借由上述技术方案,本申请提供的一种多套集群的控制处理方法、装置及计算机设备,与目前需要多套管理节点控制管理多套MySQL集群的方式相比,本申请可预先根据各套MySQL集群的地址信息,分别修改各套MySQL集群的MHA全局配置文件,使得MHA全局配置文件内用于控制MySQL集群的目标脚本的配置项中添加对应MySQL集群的地址信息,进而在一套管理节点中利用修改后的各个MHA全局配置文件,控制管理多套MySQL集群。从而实现一套管理节点可以有效地管理多套MySQL集群,可降低管理节点资源浪费。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了本申请的上述和其他目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本地申请的不当限定。在附图中:
图1示出了本申请实施例提供的一种多套集群的控制处理方法的流程示意图;
图2示出了本申请实施例提供的另一种多套集群的控制处理方法的流程示意图;
图3示出了本申请实施例提供的一种多套集群的控制处理装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本申请。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互结合。
针对改善目前需要多套管理节点控制管理多套MySQL集群,过多的管理节点会造成管理节点资源浪费的技术问题,本实施例提供了一种多套集群的控制处理方法,如图1所示,该方法包括:
步骤101、获取各套MySQL集群的MHA全局配置文件。
其中,MHA在MySQL高可用方面是一个相对成熟的解决方案,是一套优秀的作为MySQL高可用性环境下故障切换和主从提升的高可用软件系统。在MySQL故障切换过程中,MHA能做到在0~30秒之内自动完成数据库的故障切换操作,并且在进行故障切换的过程中,MHA能在最大程度上保证数据的一致性,以达到真正意义上的高可用。
MHA由两部分组成:管理节点(MHA Manager)和数据节点(MHA Node)。MHA Manager可以单独部署在一台独立的机器上管理多个主-从(master-slave)集群,也可以部署在一台slave节点上。MHA节点(Node)运行在每台MySQL服务器上,MHA Manager会定时探测集群中的master节点,当master出现故障时,它可以自动将最新数据的slave提升为新的master,然后将所有其他的slave重新指向新的master。整个故障转移过程对应用程序完全透明。MHA主要支持一主多从的架构,要搭建MHA,要求一个复制集群中可最少有三台数据库服务器,一主二从,即一台充当master,一台充当备用master,另外一台充当从库,因此可至少需要三台服务器。
在本实施例中可针对需要管理的多套MySQL集群,获取这些MySQL集群的MHA全局配置文件,MHA配置文件中可包含MHA相关的全局配置信息,以便根据MHA全局配置文件管理MySQL集群,一个MHA全局配置文件管理一套MySQL集群,多套MySQL集群对应多个MHA全局配置文件。对于本实施例的执行主体可为多套MySQL集群控制处理的装置或设备。
步骤102、分别对各套MySQL集群的MHA全局配置文件进行重命名。
其中,每个重命名后的MHA全局配置文件各自对应一套MySQL集群。
重命名各个MHA配置文件masterha_default.cnf(MHA全局配置文件),使得每个masterha_default.cnf配置文件各自对应一套MySQL集群。例如,将MHA配置文件masterha_default.cnf重命名为masterha_mysql1.cnf(对应MySQL集群1)/masterha_mysql2.cnf(对应MySQL集群2)/masterha_mysql3.cnf(对应MySQL集群3)/masterha_mysql4.cnf(对应MySQL集群4)。
重命名的规则可包括:利用根据MHA全局配置文件预设的文件名称关键词,从所有的MHA配置文件中获取文件名称与该文件名称关键词之间匹配的MHA配置文件,确定得到MHA全局配置文件,如文件名称为masterha_default.cnf的MHA配置文件。然后根据需要管理的MySQL集群的集群名称,并结合预设的重命名模板,对MHA全局配置文件进行重命名,如需要管理的MySQL集群的集群名称为mysql2,而重命名模板可为masterha_【集群名称】.cnf,将该集群名称mysql2填写在该重命名模板中,得到masterha_mysql2.cnf的重命名后的MHA全局配置文件。再如需要管理的MySQL集群的集群名称为mysql3,将该集群名称mysql3填写在该重命名模板中,得到masterha_mysql3.cnf的重命名后的MHA全局配置文件。
在需要根据其它集群的集群名称重命名MHA全局配置文件,即存在多个需要管理的MySQL集群时,可将重命名前的MHA全局配置文件复制为多个,并将复制后的MHA全局配置文件,按照上述类似的重命名方式,批量进行多个MHA全局配置文件的重命名。
步骤103、将重命名后的各个MHA全局配置文件内用于控制MySQL集群主从节点切换的目标脚本的配置项中,添加各自对应MySQL集群的地址信息。
MySQL集群的地址信息可包含MySQL集群的VIP地址、子网掩码及网卡名称等相关信息。本实施例可将MySQL集群的VIP地址、子网掩码及网卡名称,这三个集群信息提取出来以参数的形式传入MySQL集群的MHA配置文件,即可实现根据MHA全局配置文件管理MySQL集群,一个MHA全局配置文件管理一套MySQL集群,多套MySQL集群对应多个MHA全局配置文件。进而在一套管理节点中通过管理这些MHA全局配置文件,实现一套管理节点可以管理多套MySQL集群。
步骤104、执行各个MHA全局配置文件内的目标脚本,控制各个地址信息对应的各套MySQL集群中的主节点和从节点进行主从切换。
每一个MHA全局配置文件对应控制一套MySQL集群,在单套管理节点中利用这些MHA全局配置文件,实现对多套MySQL集群的控制管理。例如,从修改后的MHA全局配置文件中获取用于控制MySQL集群的目标脚本,该目标脚本的配置项中已添加对应MySQL集群的地址信息,因此通过执行该目标脚本,可基于对应MySQL集群的地址信息,获取相应的MySQL集群数据,进而利用获取到的MySQL集群数据,根据脚本执行的逻辑规则内容,实现MySQL集群的主从节点切换控制。以此类推,在单套管理节点中利用多个MHA全局配置文件,控制多套MySQL集群。
通过本实施例中的多套集群的控制处理方法,与目前需要多套管理节点控制管理多套MySQL集群的方式相比,本实施例可预先根据各套MySQL集群的地址信息,分别修改各套MySQL集群的MHA全局配置文件,使得MHA全局配置文件内用于控制MySQL集群的目标脚本的配置项中添加对应MySQL集群的地址信息,进而在一套管理节点中利用修改后的各个MHA全局配置文件,控制管理多套MySQL集群。从而实现一套管理节点可以有效地管理多套MySQL集群,可降低管理节点资源浪费。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例中的具体实施过程,提供了另一种多套集群的控制处理方法,如图2所示,该方法包括:
步骤201、获取各套MySQL集群的MHA全局配置文件。
例如,MHA全局配置文件中可包含故障切换脚本(master_ip_failover_script)/在线切换脚本(master_ip_online_change_script)等的配置项,该配置项在GetOptions方法中。例如,利用故障切换脚本可实现当主节点出现故障时,可以自动地将最新数据的从节点提升为新的主节点,然后将所有其他的从节点重新指向新的主节点,旧的主节点关闭;而利用在线切换脚本可实现根据需求主动切换集群中的主节点和从节点,在从节点中选择新的主节点,旧的主节点变成从节点,继续运行。
在得到各套MySQL集群的MHA全局配置文件之后,可分别修改获取到的各个MHA全局配置文件。例如,首先在包含故障切换脚本和在线切换脚本的MHA配置文件中找到GetOptions方法(该方法对应这两个脚本的配置项)。然后在GetOptions方法中填加app_vip/netmask/interface相应的配置项信息。其中,app_vip、netmask、interface分别是MySQL集群的VIP地址,子网掩码及网卡名称。具体可执行如下步骤202至203所示的过程。
步骤202、分别对各套MySQL集群的MHA全局配置文件进行重命名。
其中,每个重命名后的MHA全局配置文件各自对应一套MySQL集群。
步骤203、将重命名后的各个MHA全局配置文件内用于控制MySQL集群主从节点切换的目标脚本的配置项中,添加各自对应MySQL集群的VIP地址、子网掩码及网卡名称。
根据需要管理的MySQL集群的地址信息,在重命名后的MHA全局配置文件中修改配置项,进而添加MySQL集群app_vip/netmask/interface相应的配置项信息。MySQL集群的地址信息包含MySQL集群的VIP地址,子网掩码及网卡名称。本方案中在MHA全局配置文件中修改配置项,以便根据添加的MySQL集群的VIP地址,子网掩码及网卡名称的MySQL集群地址信息,准确定位需要管理的MySQL集群,进而根据该地址信息准确管理MySQL集群。
例如,根据MySQL集群的VIP地址,子网掩码及网卡名称,在重命名后的MHA全局配置文件中对master_ip_failover_script(故障切换脚本)/master_ip_online_change_script(在线切换脚本)的配置项进行配置更新,示例性的,通过编写代码,使得master_ip_failover_script=/usr/local/bin/master_ip_failover--app_vip=xxx.xxx.xxx.xxx--netmask=24--interface=eth0;
(故障切换脚本的配置中,VIP地址为xxx.xxx.xxx.xxx;子网掩码为24;网卡名称为eth0);
master_ip_online_change_script=/usr/local/bin/master_ip_online_change--app_vip=xxx.xxx.xxx.xxx--netmask=24--interface=eth0
(在线切换脚本的配置中,VIP地址为xxx.xxx.xxx.xxx;子网掩码为24;网卡名称为eth0);
通过上面的修改,将MySQL集群的VIP地址,子网掩码及网卡名称这三个集群信息提取处理,以参数的形式传入MHA全局配置文件。
通过步骤202至203所示的过程,可得到修改后的MHA全局配置文件,后续可利用修改后的各个MHA全局配置文件,控制各套MySQL集群,即执行步骤204至207所示的过程。例如,MHA根据配置文件masterha_default.cnf管理MySQL集群,重命名masterha_default.cnf为masterha_mysql1.cnf/masterha_mysql2.cnf/masterha_mysql3.cnf/masterha_mysql4.cnf等,一个配置文件管理一套mysql集群,多套MySQL集群对应多个配置文件。
然而,由于修改后的MHA全局配置文件可被利用控制MySQL集群,如果被黑客等攻击者利用会存在一定的安全隐患,因此为了保证数据的私密性和安全性,可选的,在执行各个MHA全局配置文件内的目标脚本,控制各个地址信息对应的各套MySQL集群中的主节点和从节点进行主从切换之前,本实施例方法还可包括:将修改后的各个MHA全局配置文件保存在区块链中,如修改后的各个MHA全局配置文件数据可保存在区块链的一个或多个节点中;相应的,执行各个MHA全局配置文件内的目标脚本,控制各个地址信息对应的所述各套MySQL集群中的主节点和从节点进行主从切换,具体可包括:从区块链中获取各个MHA全局配置文件,并执行各个MHA全局配置文件内的目标脚本,控制各个地址信息对应的各套MySQL集群中的主节点和从节点进行主从切换。通过这种可选方式,可很好地保证数据的私密性和安全性,减少修改后的MHA全局配置文件被攻击者恶意利用的可能性。
需要说明的是,本实施例所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
步骤204、从各个MHA全局配置文件内获取各套MySQL集群的地址信息,监测各个地址信息对应的各套MySQL集群的主节点状态信息。
其中,主节点状态信息中可包含主节点实时的状态情况,如请求处理响应时长、主节点连续运行的时长、主节点的硬件设备状态情况等。
为了准确得到各套MySQL集群的主节点状态信息,可选的,监测各个地址信息对应的各套MySQL集群的主节点状态信息具体可包括:分别向各个地址信息对应的各套MySQL集群的主节点发送主节点状态信息的获取请求;若接收到的请求响应信息为无响应信息、或超时响应信息,则确定相应MySQL集群的主节点状态信息为异常状态信息。
例如,根据MHA全局配置文件中添加的MySQL集群的VIP地址,子网掩码及网卡名称,确定该MySQL集群的地址信息;然后根据该地址信息,向该MySQL集群的主节点发送主节点状态信息的获取请求(HTTP请求或局域网请求等),然后根据接收到的请求响应信息,确定该MySQL集群的主节点状态信息。如果接收到的请求响应信息为无响应信息、或超时响应信息,则确定相应MySQL集群的主节点状态信息为异常状态信息;如果接收到的请求响应信息为未超时的正常响应信息,则记录MySQL集群的主节点连续运行的时长。通过这种可选方式,可准确监测得到各套MySQL集群的主节点状态信息。准确掌握主从切换的时机,提高MySQL集群的控制及时性和效率。
步骤205、判断各套MySQL集群中是否存在主节点状态信息符合预设关闭条件的目标MySQL集群。
其中预设关闭条件可根据实际需求预先设置,如主节点对于请求处理的响应时长大于一定阈值时,可判定符合预设关闭条件;再如,主节点连续运行的时长大于一定阈值时,可判定符合预设关闭条件,可重新选定新的从节点,由于主节点通常比从节点的负载压力要高,通过这种均衡分配的方式,定时进行主/从节点切换,可提高节点硬件使用寿命,降低出错率;再如,对主节点的各个硬件设备状态进行监测,如果存在一个主要硬件设备出现异常、且在预设时长内累计出现异常的次数大于一定阈值时,可判定符合预设关闭条件,将该主节点进行关闭,避免后续出现严重问题。
在各套MySQL集群中,如果存在一套MySQL集群的主节点状态信息符合预设关闭条件,那么该套MySQL集群即可认为是主节点符合预设关闭条件的目标MySQL集群。
步骤206、若存在主节点状态信息符合预设关闭条件的目标MySQL集群,则比对目标MySQL集群的标识和重命名后的各个MHA全局配置文件的文件名称,获取目标MySQL集群对应修改后的MHA全局配置文件。
在获取目标MySQL集群对应的MHA全局配置文件的过程中,首先获取目标MySQL集群的目标集群标识信息(如集群的名称、ID号等);然后根据目标集群标识信息,结合各个MHA配置文件的文件名称,查询目标MySQL集群对应的MHA全局配置文件。例如,目标MySQL集群的集群标识为mysql1,在各个MHA配置文件中找到文件名称为masterha_mysql1.cnf的MHA配置文件,作为该mysql1集群对应的MHA全局配置文件。
在具体查询的过程中,可检测MHA全局配置文件的文件名称中是否包含目标集群标识(如果文件名称中包含目标集群标识,则确定该文件名称对应的MHA配置文件就是目标MySQL集群对应的MHA全局配置文件),和/或对MHA配置文件的文件名称和目标集群标识进行相似度匹配(获取相似度最高的一个文件名称所对应的MHA配置文件就是目标MySQL集群对应的全局MHA配置文件)。
步骤207、执行目标MySQL集群对应修改后的MHA全局配置文件内的目标脚本,控制目标MySQL集群中的主节点和从节点进行主从切换。
对该目标MySQL集群中的主节点进行关闭,并切换目标MySQL集群中的从节点作为新的主节点。
可选的,步骤207具体可包括:首先解析目标MySQL集群对应修改后的MHA全局配置文件;从解析的MHA全局配置文件中,获取与目标MySQL集群中主节点状态信息符合的预设关闭条件相应的故障切换脚本或在线切换脚本;若获取到的是故障切换脚本,则执行故障切换脚本,向故障切换脚本的配置项信息中添加的地址信息所对应的目标MySQL集群发送主节点和从节点进行主从切换的指令,以便选取目标MySQL集群中的从节点代替原主节点作为新主节点,并且将原主节点关闭;若获取到的是在线切换脚本,则执行在线切换脚本,向在线切换脚本的配置项信息中添加的地址信息所对应的目标MySQL集群发送主节点和从节点进行主从切换的指令,以便选取目标MySQL集群中的从节点代替原主节点作为新主节点,并且将原主节点变为从节点。
示例性的,从解析的MHA全局配置文件中,获取与目标MySQL集群中主节点状态信息符合的预设关闭条件相应的故障切换脚本或在线切换脚本,具体可包括:若目标MySQL集群中主节点对请求的处理响应时长大于预设响应时长阈值、和/或主节点中存在主要硬件设备出现异常且在预设时长内累计出现异常的次数大于预设次数阈值,则从解析的MHA全局配置文件中获取故障切换脚本;若目标MySQL集群中主节点连续运行的时长大于预设连续时长阈值,则从解析的MHA全局配置文件中获取在线切换脚本。
例如,如果主节点是由于请求处理响应时长大于一定阈值、和/或主节点中存在一个主要硬件设备出现异常且在预设时长内累计出现异常的次数大于一定阈值等情况造成的符合预设关闭条件,那么可获取MHA配置文件中的故障切换脚本;而如果主节点是由于连续运行的时长大于一定阈值等情况造成的符合预设关闭条件,那么可获取MHA全局配置文件中的在线切换脚本。
而对于具体的主从切换过程,例如,关机mysql集群1的主节点,MHA通过mysql集群1对应的masterha_mysql1.cnf的配置文件,成功切换mysql集群1中的从节点为新的主节点,且不影响其他mysql集群。再例如,通过mysql集群2对应的masterha_mysql2.cnf的配置文件,从mysql集群2的从节点中选择一个新的主节点,并将mysql集群2原来的主节点降为从节点,使得MHA成功切换mysql集群2中的从节点为新的主节点,且不影响其他mysql集群。
在选择从节点作为主节点的过程中,可根据接收到最新数据的从节点作为新的主节点,如果均未接收到最新数据,那么可通过投票选举的方式选择新的主节点。例如,每个从节点根据之间调用数据的响应时长、交互频繁度、硬件资源评分等因素,投票选择主节点(可以选择本身节点);最后统计每个从节点得到的票数,选择票数最高的一个从节点作为新的主节点。
进一步,本实施例还可将目标MySQL集群中主/从节点的切换记录进行保存,以便后续如果发生问题、或日常运维的过程中,根据保存的记录查询相应的信息。除此之外,还可监控利用每个MHA全局配置文件,分别管理多套MySQL集群的结果信息,获取未能成功利用相应MHA配置文件管理相应MySQL集群进行主从切换的信息,然后收集该MySQL集群的集群信息、MHA全局配置文件等的内容信息进行上报,以便发现此种更改未能生效的原因信息,并进行问题排查。
本实施例方法将MySQL集群的VIP地址,子网掩码及网卡名称,这三个集群信息提取出来以参数的形式传入MySQL集群的MHA全局配置文件,即可实现根据MHA全局配置文件管理MySQL集群,一个MHA全局配置文件管理一套MySQL集群,多套MySQL集群对应多个MHA全局配置文件。进而在一套管理节点中通过管理这些MHA全局配置文件,实现一套管理节点可以管理多套MySQL集群,可降低管理节点资源浪费。
进一步的,作为图1和图2所示方法的具体实现,本实施例提供了一种多套集群的控制处理装置,如图3所示,该装置包括:获取模块31、修改模块32、控制模块33。
获取模块31,用于获取各套MySQL集群的MHA全局配置文件;
修改模块32,用于分别对所述各套MySQL集群的MHA全局配置文件进行重命名,其中,每个重命名后的MHA全局配置文件各自对应一套MySQL集群;将重命名后的各个MHA全局配置文件内用于控制MySQL集群主从节点切换的目标脚本的配置项中,添加各自对应MySQL集群的地址信息;
控制模块33,用于执行所述各个MHA全局配置文件内的目标脚本,控制各个地址信息对应的所述各套MySQL集群中的主节点和从节点进行主从切换。
在具体的应用场景中,控制模块33,具体用于从所述各个MHA全局配置文件内获取所述各套MySQL集群的地址信息,监测各个地址信息对应的所述各套MySQL集群的主节点状态信息;判断所述各套MySQL集群中是否存在所述主节点状态信息符合预设关闭条件的目标MySQL集群;若存在所述主节点状态信息符合预设关闭条件的目标MySQL集群,则比对所述目标MySQL集群的标识和重命名后的各个MHA全局配置文件的文件名称,获取所述目标MySQL集群对应修改后的MHA全局配置文件;执行所述目标MySQL集群对应修改后的MHA全局配置文件内的目标脚本,控制所述目标MySQL集群中的主节点和从节点进行主从切换。
在具体的应用场景中,控制模块33,具体还用于分别向各个地址信息对应的所述各套MySQL集群的主节点发送主节点状态信息的获取请求;若接收到的请求响应信息为无响应信息、或超时响应信息,则确定相应MySQL集群的主节点状态信息为异常状态信息。
在具体的应用场景中,控制模块33,具体还用于解析所述目标MySQL集群对应修改后的MHA全局配置文件;从解析的MHA全局配置文件中,获取与所述目标MySQL集群中主节点状态信息符合的预设关闭条件相应的故障切换脚本或在线切换脚本;若获取到的是故障切换脚本,则执行所述故障切换脚本,向所述故障切换脚本的配置项信息中添加的地址信息所对应的所述目标MySQL集群发送主节点和从节点进行主从切换的指令,以便选取所述目标MySQL集群中的从节点代替原主节点作为新主节点,并且将原主节点关闭;若获取到的是在线切换脚本,则执行所述在线切换脚本,向所述在线切换脚本的配置项信息中添加的地址信息所对应的所述目标MySQL集群发送主节点和从节点进行主从切换的指令,以便选取所述目标MySQL集群中的从节点代替原主节点作为新主节点,并且将原主节点变为从节点。
在具体的应用场景中,控制模块33,具体还用于若所述目标MySQL集群中主节点对请求的处理响应时长大于预设响应时长阈值、和/或所述主节点中存在主要硬件设备出现异常且在预设时长内累计出现异常的次数大于预设次数阈值,则从解析的MHA全局配置文件中获取故障切换脚本;若所述目标MySQL集群中主节点连续运行的时长大于预设连续时长阈值,则从解析的MHA全局配置文件中获取在线切换脚本。
在具体的应用场景中,本装置还包括:保存模块;
保存模块,用于在所述执行所述各个MHA全局配置文件内的目标脚本,控制各个地址信息对应的所述各套MySQL集群中的主节点和从节点进行主从切换之前,将所述各个MHA全局配置文件保存在区块链中;
相应的,控制模块33,具体还用于从区块链中获取所述各个MHA全局配置文件,并执行所述各个MHA全局配置文件内的目标脚本,控制各个地址信息对应的所述各套MySQL集群中的主节点和从节点进行主从切换。
在具体的应用场景中,可选的,MySQL集群的地址信息包括MySQL集群的VIP地址、子网掩码及网卡名称。
需要说明的是,本实施例提供的一种多套集群的控制处理装置所涉及各功能单元的其它相应描述,可以参考图1和图2中的对应描述,在此不再赘述。
基于上述如图1和图2所示方法,相应的,本实施例还提供了一种非易失性可读存储介质,其上存储有计算机可读指令,该计算机可读指令被处理器执行时实现上述如图1和图2所示的多套集群的控制处理方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景的方法。
基于上述如图1、图2所示的方法,以及图3所示的虚拟装置实施例,为了实现上述目的,本实施例还提供了一种计算机设备,具体可以为个人计算机、笔记本电脑、服务器、网络设备等,该实体设备包括存储介质和处理器;存储介质,用于存储计算机可读指令;处理器,用于执行计算机可读指令以实现上述如图1和图2所示的多套集群的控制处理方法。
可选的,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(RadioFrequency,RF)电路,传感器、音频电路、WI-FI模块等等。用户接口可以包括显示屏(Display)、输入单元比如键盘(Keyboard)等,可选用户接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如蓝牙接口、WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的计算机设备结构并不构成对该实体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述实体设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与该实体设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。通过应用本实施例的技术方案,与目前需要多套管理节点控制管理多套MySQL集群的方式相比,本实施例可预先根据各套MySQL集群的地址信息,分别修改各套MySQL集群的MHA全局配置文件,使得MHA全局配置文件内用于控制MySQL集群的目标脚本的配置项中添加对应MySQL集群的地址信息,进而在一套管理节点中利用修改后的各个MHA全局配置文件,控制管理多套MySQL集群。从而实现一套管理节点可以有效地管理多套MySQL集群,可降低管理节点资源浪费。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (10)
1.一种多套集群的控制处理方法,其特征在于,包括:
获取各套MySQL集群的MHA全局配置文件;
分别对所述各套MySQL集群的MHA全局配置文件进行重命名,其中,每个重命名后的MHA全局配置文件各自对应一套MySQL集群;
将重命名后的各个MHA全局配置文件内用于控制MySQL集群主从节点切换的目标脚本的配置项中,添加各自对应MySQL集群的地址信息;
执行所述各个MHA全局配置文件内的目标脚本,控制各个地址信息对应的所述各套MySQL集群中的主节点和从节点进行主从切换。
2.根据权利要求1所述的方法,其特征在于,所述执行所述各个MHA全局配置文件内的目标脚本,控制各个地址信息对应的所述各套MySQL集群中的主节点和从节点进行主从切换,具体包括:
从所述各个MHA全局配置文件内获取所述各套MySQL集群的地址信息,监测各个地址信息对应的所述各套MySQL集群的主节点状态信息;
判断所述各套MySQL集群中是否存在所述主节点状态信息符合预设关闭条件的目标MySQL集群;
若存在所述主节点状态信息符合预设关闭条件的目标MySQL集群,则比对所述目标MySQL集群的标识和重命名后的各个MHA全局配置文件的文件名称,获取所述目标MySQL集群对应修改后的MHA全局配置文件;
执行所述目标MySQL集群对应修改后的MHA全局配置文件内的目标脚本,控制所述目标MySQL集群中的主节点和从节点进行主从切换。
3.根据权利要求2所述的方法,其特征在于,所述监测各个地址信息对应的所述各套MySQL集群的主节点状态信息,具体包括:
分别向各个地址信息对应的所述各套MySQL集群的主节点发送主节点状态信息的获取请求;
若接收到的请求响应信息为无响应信息、或超时响应信息,则确定相应MySQL集群的主节点状态信息为异常状态信息。
4.根据权利要求3所述的方法,其特征在于,所述执行所述目标MySQL集群对应修改后的MHA全局配置文件内的目标脚本,控制所述目标MySQL集群中的主节点和从节点进行主从切换,具体包括:
解析所述目标MySQL集群对应修改后的MHA全局配置文件;
从解析的MHA全局配置文件中,获取与所述目标MySQL集群中主节点状态信息符合的预设关闭条件相应的故障切换脚本或在线切换脚本;
若获取到的是故障切换脚本,则执行所述故障切换脚本,向所述故障切换脚本的配置项信息中添加的地址信息所对应的所述目标MySQL集群发送主节点和从节点进行主从切换的指令,以便选取所述目标MySQL集群中的从节点代替原主节点作为新主节点,并且将原主节点关闭;
若获取到的是在线切换脚本,则执行所述在线切换脚本,向所述在线切换脚本的配置项信息中添加的地址信息所对应的所述目标MySQL集群发送主节点和从节点进行主从切换的指令,以便选取所述目标MySQL集群中的从节点代替原主节点作为新主节点,并且将原主节点变为从节点。
5.根据权利要求4所述的方法,其特征在于,所述从解析的MHA全局配置文件中,获取与所述目标MySQL集群中主节点状态信息符合的预设关闭条件相应的故障切换脚本或在线切换脚本,具体包括:
若所述目标MySQL集群中主节点对请求的处理响应时长大于预设响应时长阈值、和/或所述主节点中存在主要硬件设备出现异常且在预设时长内累计出现异常的次数大于预设次数阈值,则从解析的MHA全局配置文件中获取故障切换脚本;
若所述目标MySQL集群中主节点连续运行的时长大于预设连续时长阈值,则从解析的MHA全局配置文件中获取在线切换脚本。
6.根据权利要求1所述的方法,其特征在于,在所述执行所述各个MHA全局配置文件内的目标脚本,控制各个地址信息对应的所述各套MySQL集群中的主节点和从节点进行主从切换之前,所述方法还包括:
将所述各个MHA全局配置文件保存在区块链中;
所述执行所述各个MHA全局配置文件内的目标脚本,控制各个地址信息对应的所述各套MySQL集群中的主节点和从节点进行主从切换,具体包括:
从区块链中获取所述各个MHA全局配置文件,并执行所述各个MHA全局配置文件内的目标脚本,控制各个地址信息对应的所述各套MySQL集群中的主节点和从节点进行主从切换。
7.根据权利要求1所述的方法,其特征在于,MySQL集群的地址信息包括MySQL集群的VIP地址、子网掩码及网卡名称。
8.一种多套集群的控制处理装置,其特征在于,包括:
获取模块,用于获取各套MySQL集群的MHA全局配置文件;
修改模块,用于分别对所述各套MySQL集群的MHA全局配置文件进行重命名,其中,每个重命名后的MHA全局配置文件各自对应一套MySQL集群;将重命名后的各个MHA全局配置文件内用于控制MySQL集群主从节点切换的目标脚本的配置项中,添加各自对应MySQL集群的地址信息;
控制模块,用于执行所述各个MHA全局配置文件内的目标脚本,控制各个地址信息对应的所述各套MySQL集群中的主节点和从节点进行主从切换。
9.一种非易失性可读存储介质,其上存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现权利要求1至7中任一项所述的多套集群的控制处理方法。
10.一种计算机设备,包括非易失性可读存储介质、处理器及存储在非易失性可读存储介质上并可在处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现权利要求1至7中任一项所述的多套集群的控制处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011599607.8A CN112714022A (zh) | 2020-12-29 | 2020-12-29 | 多套集群的控制处理方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011599607.8A CN112714022A (zh) | 2020-12-29 | 2020-12-29 | 多套集群的控制处理方法、装置及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112714022A true CN112714022A (zh) | 2021-04-27 |
Family
ID=75546630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011599607.8A Pending CN112714022A (zh) | 2020-12-29 | 2020-12-29 | 多套集群的控制处理方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112714022A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114189496A (zh) * | 2022-02-16 | 2022-03-15 | 苏州浪潮智能科技有限公司 | 一种集群系统的ip修改方法、装置及相关设备 |
CN114510312A (zh) * | 2022-02-23 | 2022-05-17 | 光大科技有限公司 | 集群主从节点切换可视化实现方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020049859A1 (en) * | 2000-08-25 | 2002-04-25 | William Bruckert | Clustered computer system and a method of forming and controlling the clustered computer system |
US20060053216A1 (en) * | 2004-09-07 | 2006-03-09 | Metamachinix, Inc. | Clustered computer system with centralized administration |
CN102510340A (zh) * | 2011-10-11 | 2012-06-20 | 浪潮电子信息产业股份有限公司 | 利用普通Internet网络实现异地快速备份的方法 |
US20130077621A1 (en) * | 2010-08-04 | 2013-03-28 | Roberto H. Jacob Da Silva | System and method for a virtual chassis system |
CN107203617A (zh) * | 2017-05-24 | 2017-09-26 | 杭州铭师堂教育科技发展有限公司 | 基于MHA的mysql在线迁移系统及方法 |
JP2019024174A (ja) * | 2017-07-24 | 2019-02-14 | キヤノン株式会社 | 情報処理装置、システム、制御方法、及びプログラム |
CN109800080A (zh) * | 2018-12-14 | 2019-05-24 | 深圳壹账通智能科技有限公司 | 一种基于Quartz框架的任务调度方法、系统及终端设备 |
-
2020
- 2020-12-29 CN CN202011599607.8A patent/CN112714022A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020049859A1 (en) * | 2000-08-25 | 2002-04-25 | William Bruckert | Clustered computer system and a method of forming and controlling the clustered computer system |
US20060053216A1 (en) * | 2004-09-07 | 2006-03-09 | Metamachinix, Inc. | Clustered computer system with centralized administration |
US20130077621A1 (en) * | 2010-08-04 | 2013-03-28 | Roberto H. Jacob Da Silva | System and method for a virtual chassis system |
CN102510340A (zh) * | 2011-10-11 | 2012-06-20 | 浪潮电子信息产业股份有限公司 | 利用普通Internet网络实现异地快速备份的方法 |
CN107203617A (zh) * | 2017-05-24 | 2017-09-26 | 杭州铭师堂教育科技发展有限公司 | 基于MHA的mysql在线迁移系统及方法 |
JP2019024174A (ja) * | 2017-07-24 | 2019-02-14 | キヤノン株式会社 | 情報処理装置、システム、制御方法、及びプログラム |
CN109800080A (zh) * | 2018-12-14 | 2019-05-24 | 深圳壹账通智能科技有限公司 | 一种基于Quartz框架的任务调度方法、系统及终端设备 |
Non-Patent Citations (1)
Title |
---|
陈昌文;李春雷;: "服务器集群的全局化配置管理系统" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114189496A (zh) * | 2022-02-16 | 2022-03-15 | 苏州浪潮智能科技有限公司 | 一种集群系统的ip修改方法、装置及相关设备 |
CN114510312A (zh) * | 2022-02-23 | 2022-05-17 | 光大科技有限公司 | 集群主从节点切换可视化实现方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10656868B2 (en) | Optimal storage and workload placement, and high resiliency, in geo-distributed cluster systems | |
US10048996B1 (en) | Predicting infrastructure failures in a data center for hosted service mitigation actions | |
US9450700B1 (en) | Efficient network fleet monitoring | |
US20220382720A1 (en) | Systems and methods for tuning a storage system | |
US20080281959A1 (en) | Managing addition and removal of nodes in a network | |
US9483352B2 (en) | Process control systems and methods | |
US20160197947A1 (en) | System for detecting abnormal behavior by analyzing personalized use behavior pattern during entire access period | |
US7624309B2 (en) | Automated client recovery and service ticketing | |
TW201512988A (zh) | 軟體相容性預先檢測方法與其系統 | |
CN102272736B (zh) | 提高资源监视数据的消费者系统和生产者系统之间的规模 | |
US11210150B1 (en) | Cloud infrastructure backup system | |
US20130111018A1 (en) | Passive monitoring of virtual systems using agent-less, offline indexing | |
CN112714022A (zh) | 多套集群的控制处理方法、装置及计算机设备 | |
US20230016199A1 (en) | Root cause detection of anomalous behavior using network relationships and event correlation | |
WO2021190659A1 (zh) | 系统的数据获取方法、装置、介质及电子设备 | |
US8583798B2 (en) | Unidirectional resource and type dependencies in oracle clusterware | |
CN115373835A (zh) | Flink集群的任务资源调整方法、装置及电子设备 | |
EP3591530B1 (en) | Intelligent backup and recovery of cloud computing environment | |
CN114389934A (zh) | 一种基于信创环境下的云平台控制系统 | |
US11218378B1 (en) | Cluser-aware networking fabric update system | |
KR102188987B1 (ko) | 서버 관리 장치를 구비한 클라우드 서버 및 로컬 서버를 이용하는 제로클라이언트 단말기용 클라우드 컴퓨팅 시스템의 운영 방법 | |
CN112073499A (zh) | 一种多机型云物理服务器的动态服务方法 | |
CN111651235A (zh) | 一种虚拟机组任务管理方法及装置 | |
WO2019241199A1 (en) | System and method for predictive maintenance of networked devices | |
WO2022121387A1 (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 |