CN111124755B - 集群节点的故障恢复方法、装置、电子设备及存储介质 - Google Patents

集群节点的故障恢复方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN111124755B
CN111124755B CN201911239536.8A CN201911239536A CN111124755B CN 111124755 B CN111124755 B CN 111124755B CN 201911239536 A CN201911239536 A CN 201911239536A CN 111124755 B CN111124755 B CN 111124755B
Authority
CN
China
Prior art keywords
cluster node
fault
cluster
node
data
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.)
Active
Application number
CN201911239536.8A
Other languages
English (en)
Other versions
CN111124755A (zh
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.)
China United Network Communications Group Co Ltd
Unicompay Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Unicompay 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 China United Network Communications Group Co Ltd, Unicompay Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN201911239536.8A priority Critical patent/CN111124755B/zh
Publication of CN111124755A publication Critical patent/CN111124755A/zh
Application granted granted Critical
Publication of CN111124755B publication Critical patent/CN111124755B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • G06F11/1425Reconfiguring to eliminate the error by reconfiguration of node membership
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本申请提供一种集群节点的故障恢复方法、装置、电子设备及存储介质,该方法,包括:获取集群组中各集群节点的节点信息,集群节点的节点信息包括该集群节点的健康状态、数据存储地址;在集群组中确定故障集群节点,故障集群节点是健康状态为下线状态的集群节点;判断故障集群节点的数据存储地址是否存在数据文件目录和/或数据文件,得到判断结果;根据判断结果,重启和/或重建故障集群节点。实现了对故障集群节点的自动恢复。

Description

集群节点的故障恢复方法、装置、电子设备及存储介质
技术领域
本申请涉及数据库集群技术领域,尤其涉及一种集群节点的故障恢复方法、装置、电子设备及存储介质。
背景技术
随着云计算的发展,数据库平台成为业界新标准,为用户提供了更加快速灵活的资源使用方式,提升了资源交付速率和弹性。数据库集群技术简而言之就是多套数据库的组合,各节点数据库管理自身的数据,数据库之间通过数据复制技术实现数据同步,提供读写或只读的服务。在数据库集群前端通过搭建数据库中间件或负载均衡设备,把应用请求分发到各个节点,实现集群负载均衡和故障转移。
现有技术中,通常采用MySQL组复制技术实现数据复制,MySQL组复制集群是由多个集群节点组成,启用了组复制插件、基于行格式二进制日志和全局事务ID(globaltransaction identifier,GTID)等特性的集群。集群节点数目一般是3个及以上的奇数,每节点实例均开启MySQL组复制(MySQL Group Replication,MGR)插件,插件内部实现了冲突检测、Paxos协议通信,确保了数据的强一致性。集群内置故障检测和自动选主功能,少数节点发生故障,集群仍然可以正常提供服务。
然而,现有技术中通过组复制的方式可以解决数据一致性和故障转移的问题,依然无法实现自动恢复故障集群节点。
发明内容
本申请提供一种集群节点的故障恢复方法、装置、电子设备及存储介质,以实现对故障集群节点的自动恢复。
第一方面,本申请实施例提供一种集群节点的故障恢复方法,包括:
获取集群组中各集群节点的节点信息,集群节点的节点信息包括该集群节点的健康状态、数据存储地址;
在集群组中确定故障集群节点,故障集群节点是健康状态为下线状态的集群节点;
判断故障集群节点的数据存储地址是否存在数据文件目录和/或数据文件,得到判断结果;
根据判断结果,重启和/或重建故障集群节点。
本申请实施例中,通过对集群组中各集群节点的健康状态进行监控,及时发现故障集群节点,并根据故障集群节点的数据存储地址中是否存在数据文件目录或数据文件,重启和/或重建故障集群节点,实现了对故障集群节点的自动恢复。
在一种可能的实施方式中,根据判断结果,重启和/或重建故障集群节点,包括:
若故障集群节点的数据存储地址存在数据文件目录且存在数据文件,则重启故障集群节点;
若重启故障集群节点失败,则重建故障集群节点;
若故障集群节点的数据存储地址不存在数据文件目录和/或不存在数据文件,则重建故障集群节点。
本申请实施例中,通过在故障集群节点的数据存储地址存在数据文件目录且存在数据文件时,重启故障集群节点,可以提高自动恢复故障集群节点的效率,并且若重启故障集群节点失败,则重建故障集群节点,保证了故障集群节点的自动恢复;在故障集群节点的数据存储地址不存在数据文件目录和/或不存在数据文件时,说明集群节点出现严重错误,通过重建故障集群节点,保证了故障集群节点的自动恢复。
在一种可能的实施方式中,集群节点的节点信息还包括该集群节点的配置文件,若故障集群节点的数据存储地址存在数据文件目录且存在数据文件,则重启故障集群节点,包括:
判断故障集群节点的配置文件的参数是否有效;
若故障集群节点的配置文件的参数有效,则调用集群启动命令,以重新启动故障集群节点;
若故障集群节点的配置文件的参数无效,则获取故障集群节点在最近一次正常状态下的目标配置文件,并调用集群启动命令,以通过目标配置文件重新启动故障集群节点。
本申请实施例中,通过判断故障集群节点的配置文件的参数是否有效,保证了重启故障集群节点时的配置文件的有效性,进而提高了故障集群节点自动恢复的可靠性。
在一种可能的实施方式中,集群节点的节点信息还包括该集群节点的配置文件,重建故障集群节点,包括:
获取故障集群节点的数据文件的备份数据;
根据备份数据和故障集群节点的配置文件,生成新建集群节点;
将新建集群节点加入集群组,并删除故障集群节点。
本申请实施例通过根据备份数据和故障集群节点的配置文件,实现了对新建集群节点的生成,并通过将新建集群节点加入集群组,并删除故障集群节点,实现了对集群组的更新。
在一种可能的实施方式中,根据备份数据和故障集群节点的配置文件,生成新建集群节点,包括:
通过备份数据对故障集群节点的数据文件进行恢复;
通过故障集群节点的配置文件生成新建集群节点的配置文件;
调用集群启动命令,以重新启动新建集群节点。
在一种可能的实施方式中,在获取故障集群节点的数据文件的备份数据之前,还包括:
对集群的数据文件进行备份,得到集群的备份数据。
下面介绍本申请实施例提供的装置、电子设备、计算机可读存储介质以及计算机程序产品,其内容和效果可参考本申请实施例提供的推荐方法,不再赘述。
第二方面,本申请实施例提供一种集群节点的故障恢复装置,包括:
获取模块,用于获取集群组中各集群节点的节点信息,集群节点的节点信息包括该集群节点的健康状态、数据存储地址;
确定模块,用于在集群组中确定故障集群节点,故障集群节点是健康状态为下线状态的集群节点;
判断模块,用于判断故障集群节点的数据存储地址是否存在数据文件目录和/或数据文件,得到判断结果;
处理模块,用于根据判断结果,重启和/或重建故障集群节点。
在一种可实现的方式中,处理模块,包括:
重启子模块,用于若故障集群节点的数据存储地址存在数据文件目录且存在数据文件,则重启故障集群节点;
重建子模块,用于若重启故障集群节点失败,则重建故障集群节点;
重建子模块,还用于若故障集群节点的数据存储地址不存在数据文件目录和/或不存在数据文件,则重建故障集群节点。
在一种可实现的方式中,集群节点的节点信息还包括该集群节点的配置文件,重启子模块,具体用于:
判断故障集群节点的配置文件的参数是否有效;
若故障集群节点的配置文件的参数有效,则调用集群启动命令,以重新启动故障集群节点;
若故障集群节点的配置文件的参数无效,则获取故障集群节点在最近一次正常状态下的目标配置文件,并调用集群启动命令,以通过目标配置文件重新启动故障集群节点。
在一种可实现的方式中,集群节点的节点信息还包括该集群节点的配置文件,重建子模块,具体用于:
获取故障集群节点的数据文件的备份数据;
根据备份数据和故障集群节点的配置文件,生成新建集群节点;
将新建集群节点加入集群组,并删除故障集群节点。
在一种可实现的方式中,重建子模块,具体用于:
通过备份数据对故障集群节点的数据文件进行恢复;
通过故障集群节点的配置文件生成新建集群节点的配置文件;
调用集群启动命令,以重新启动新建集群节点。
在一种可实现的方式中,本申请实施例提供的集群节点的故障恢复装置,还包括:
备份模块,用于对集群的数据文件进行备份,得到集群的备份数据。
第三方面,本申请实施例提供一种电子设备,包括:
至少一个处理器;以及
与至少一个处理器通信连接的存储器;其中
存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面或第一方面可实现方式提供的方法。
第四方面,本申请实施例提供一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如第一方面或第一方面可实现方式提供的方法。
第五方面,本申请实施例提供一种计算机程序产品,包括:可执行指令,可执行指令用于实现如第一方面或第一方面可选方式提供的方法。
本申请提供的集群节点的故障恢复方法、装置、电子设备及存储介质,通过获取集群组中各集群节点的节点信息,集群节点的节点信息包括该集群节点的健康状态、数据存储地址;并在集群组中确定故障集群节点,故障集群节点是健康状态为下线状态的集群节点;然后判断故障集群节点的数据存储地址是否存在数据文件目录和/或数据文件,得到判断结果;进而根据判断结果,重启和/或重建故障集群节点。由于通过对集群组中各集群节点的健康状态进行监控,及时发现故障集群节点,并根据故障集群节点的数据存储地址中是否存在数据文件目录或数据文件,重启和/或重建故障集群节点,实现了对故障集群节点的自动恢复。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一示例性应用场景图;
图2是本申请一实施例提供的系统架构示意图;
图3是本申请实施例提供的集群节点的故障恢复方法的流程示意图;
图4是本申请另一实施例提供的集群节点的故障恢复方法的流程示意图;
图5是本申请一实施例提供的集群节点的故障恢复装置的结构示意图;
图6是本申请另一实施例提供的集群节点的故障恢复装置的结构示意图;
图7是本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
随着云计算的发展,数据库平台成为业界新标准,为用户提供了更加快速灵活的资源使用方式,提升了资源交付速率和弹性。数据库集群技术简而言之就是多套数据库的组合,各节点数据库管理自身的数据,数据库之间通过数据复制技术实现数据同步,提供读写或只读的服务。在数据库集群前端通过搭建数据库中间件或负载均衡设备,把应用请求分发到各个节点,实现集群负载均衡和故障转移。然而现有技术中,采用MySQL组复制技术实现数据复制的方式尽管可以解决数据一致性和故障转移的问题,依然无法实现自动恢复故障集群节点。为了解决上述技术问题,本申请实施例提供一种集群节点的故障恢复方法、装置、电子设备及存储介质。
以下,对本申请实施例的示例性应用场景进行介绍。
本申请实施例提供的集群节点的故障恢复方法可以通过本申请实施例提供的集群节点的故障恢复装置执行,本申请实施例提供的集群节点的故障恢复装置可以是终端设备或服务器的部分或者全部,图1是本申请实施例提供的一示例性应用场景图,本申请示例提供的集群节点的故障恢复方法可以应用在数据库集群系统中,数据库集群系统可以包括多个服务器,本申请实施例对服务器的数量以及具体类型不做限制。图1中仅以数据库集群系统10包括两个服务器为例进行介绍,如图1所示,网络用于在终端设备11、终端设备12、服务器13和服务器14之间提供通信链路的介质。网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备11、终端设备12、与服务器13和服务器14相互之间可以通过网络交互,以接收或发送消息等。本申请实施例对终端设备的类型、数量等不做限制,例如,终端设备、可以是支持浏览器应用、杀毒类应用、搜索类应用等各类应用等安装于其上的各种电子设备,包括但不限于智能手机、智能手表、平板电脑、个人数字助理、电子书阅读器、膝上型便携计算机和台式计算机等等。
数据库集群系统为用户提供数据库业务,用户可以通过终端设备向数据库集群系统存储数据,或者从数据库集群系统请求访问数据,数据库集群系统用于将用户的数据存储请求分配至多个集群节点上。数据库集群系统中还可以包括其他服务器,其他服务器可以是对客户端的各类应用等提供支持的后台服务器、云服务器等。
图2是本申请一实施例提供的系统架构示意图,如图2所示,下面以集群组包括三个集群节点为例进行介绍,集群节点的故障恢复装置定时对各集群节点的节点信息进行数据收集,并根据收集到的各集群节点的健康状态、数据存储地址、备份数据等,对故障集群节点进行重启和/或重建,若对故障集群节点进行重建,则可以得到新建集群节点,集群节点的故障恢复装置通过统一访问入口,将新建集群节点加入集群组,并删除故障集群节点,实现了对故障集群节点的自动恢复,其中,本申请实施例可以通过基于容器的MySQL主从复制方式实现数据备份,MySQL从节点通过复制通道与统一访问入口连接到集群组,通过对数据组中集群节点中的数据文件进行读/写,并通过备份工具进行数据备份。另外,本申请实施例通过提供统一访问入口,不用引入额外的数据库中间件程序,整体架构清晰简洁,避免了额外组件出现故障的风险,本申请实施例对统一访问入口的实现方式不做限制,例如统一访问入口可以通过HAProxy、My Router、ProxySQL等程序实现,本申请实施例不限于此。基于此,本申请实施例提供一种集群节点的故障恢复方法、装置、电子设备及存储介质。
图3是本申请实施例提供的集群节点的故障恢复方法的流程示意图,该方法可以通过本申请实施例提供的集群节点的故障恢复装置执行,该装置可以通过软件和/或硬件的方式实现,例如:该装置可以是服务器的部分或全部,下面以服务器为执行主体对集群节点的故障恢复方法进行说明,如图3所示,本申请实施例提供的集群节点的故障恢复方法可以包括:
步骤S101:获取集群组中各集群节点的节点信息,集群节点的节点信息包括该集群节点的健康状态、数据存储地址。
本申请实施例对集群组的具体实现方式不做限制,集群组可以是基于容器的MGR集群,MGR集群是一种高一致性、高容错性、高灵活性的MySQL集群,通过采用MGR集群可以实现了数据的一致性,并且可以提高数据写入效率,另外,对MGR集群环境容器化,环境标准化程度高,资源隔离性强,启动或者扩展集群节点的自动化程度高。
集群组中可以包括多个集群节点,本申请实施例对集群节点的数量不做限制,例如,集群组中包括三个集群节点,本申请实施例不限于此。每个集群节点可以包括该集群节点的标识,本申请实施例对标识的形式不做限制。服务器获取集群组中各集群节点的节点信息,可以通过定时探测集群组的方式实现。集群节点的节点信息包括该集群节点的健康状态、数据存储地址等,集群节点的健康状态用于显示集群节点是否正常工作,例如,集群节点的健康状态可以包括正常状态、下线状态以及恢复状态等,本申请实施例对此不做限制。数据存储地址中可以包括数据文件目录,在数据文件目录下存在数据文件。本申请实施例对集群节点的节点信息包括的信息不做限制,例如,集群节点的节点信息还可以包括集群节点的配置文件等。
步骤S102:在集群组中确定故障集群节点,故障集群节点是健康状态为下线状态的集群节点。
通过获取各集群节点的节点信息,可以得到各集群节点的健康状态,若存在集群节点的健康状态为下线状态,则表示该集群节点为故障集群节点,故障集群节点无法进行正常工作,需要对故障集群节点进行处理。
步骤S103:判断故障集群节点的数据存储地址是否存在数据文件目录和/或数据文件,得到判断结果。
在确定故障集群节点之后,获取故障集群节点的数据存储地址,并判断故障集群节点的数据存储地址是否存在数据文件目录和/或数据文件,本申请实施例对判断故障集群节点的数据存储地址是否存在数据文件目录和/或数据文件的具体实现方式不做限制。
步骤S104:根据判断结果,重启和/或重建故障集群节点。
在判断故障集群节点的数据存储地址是否存在数据文件目录和/或数据文件之后,可以根据判断结果,重启和/或重建故障集群节点。本申请实施例对根据判断结果,重启和/或重建故障集群节点的具体实现方式不做限制。在一种可能的实施方式中,根据判断结果重启故障集群节点,或者,根据判断结果重建故障集群节点,或者,根据判断结果首先重启故障集群节点,若重启故障集群节点失败则重建故障集群节点,或者根据判断结果首先重建故障集群节点,然后重启故障集群节点。
本申请实施例中,通过对集群组中各集群节点的健康状态进行监控,及时发现故障集群节点,并根据故障集群节点的数据存储地址中是否存在数据文件目录或数据文件,重启和/或重建故障集群节点,实现了对故障集群节点的自动恢复。
图4是本申请另一实施例提供的集群节点的故障恢复方法的流程示意图,该方法可以通过本申请实施例提供的集群节点的故障恢复装置执行,该装置可以通过软件和/或硬件的方式实现,例如:该装置可以是服务器的部分或全部,下面以服务器为执行主体对集群节点的故障恢复方法进行说明,如图4所示,上述实施例提供的集群节点的故障恢复方法中的步骤S104,还可以包括:
步骤S201:若故障集群节点的数据存储地址存在数据文件目录且存在数据文件,则重启故障集群节点。
若故障集群节点的数据存储地址存在数据文件目录,且在数据文件目录下存在数据文件,则可能因为故障集群节点的配置文件发生错误,导致故障集群节点的健康状态为下线状态,此时,可以通过重启故障集群节点对故障集群节点进行恢复。本申请实施例对重启故障集群节点的具体实现方式不做限制,例如,可以通过对集群组关闭再打开的方式,重启各集群节点。
在故障集群节点的数据存储地址中存在数据文件目录且存在数据文件时,可以通过对故障集群节点的配置文件的参数进行检查,以提高重启故障集群节点的效率。在一种可能的实施方式中,集群节点的节点信息还包括该集群节点的配置文件,若故障集群节点的数据存储地址存在数据文件目录且存在数据文件,则重启故障集群节点,包括:
判断故障集群节点的配置文件的参数是否有效;若故障集群节点的配置文件的参数有效,则调用集群启动命令,以重新启动故障集群节点;若故障集群节点的配置文件的参数无效,则获取故障集群节点在最近一次正常状态下的目标配置文件,并调用集群启动命令,以通过目标配置文件重新启动故障集群节点。
本申请实施例对判断故障集群节点的配置文件的参数是否有效的具体实现方式不做限制,例如,可以通过对配置文件的参数进行拼写检查,以确定配置文件的参数是否出现拼写错误,若配置文件的参数拼写正确,则表示故障集群节点的配置文件的参数有效,可以通过调用集群启动命令,以重新启动故障集群节点;若配置文件的参数出现拼写错误,则表示故障集群节点的配置文件的参数无效,则可以通过获取故障集群节点在最近一次正常状态下的目标配置文件,通过目标配置文件重新启动故障集群节点,以保证对故障集群节点的自动恢复。
本申请实施例中,通过判断故障集群节点的配置文件的参数是否有效,保证了重启故障集群节点时的配置文件的有效性,进而提高了故障集群节点自动恢复的可靠性。
步骤S202:若重启故障集群节点失败,则重建故障集群节点。
在重启故障集群节点之后,可以通过获取故障集群节点的健康状态判断重启故障集群节点是否成功,若故障集群节点的健康状态为正常状态,则表示重启故障集群节点成功,若故障集群节点的健康状态为下线状态,则表示重启故障集群节点失败。
若重启故障集群节点失败,则重建故障集群节点,本申请实施例对重建故障集群节点的具体实现方式不做限制。在一种可能的实施方式中,集群节点的节点信息还包括该集群节点的配置文件,重建故障集群节点,包括:
获取故障集群节点的数据文件的备份数据;根据备份数据和故障集群节点的配置文件,生成新建集群节点;将新建集群节点加入集群组,并删除故障集群节点。
集群节点的数据文件的备份数据可以是通过MySQL从节点通过复制通道以及统一访问入口连接到集群组,对集群的数据文件进行备份,因此,在一种可能的实施方式中,在获取故障集群节点的数据文件的备份数据之前,还包括:对集群的数据文件进行备份,得到集群的备份数据。
集群各节点数据完全一致,备份数据可用于任意故障节点的数据文件恢复。本申请实施例对集群的数据文件的备份方式不做限制,例如可以通过mysqldump、mysqlbackup等工具实现。在一种可能的方式,还可以通过Innobackupex工具对各集群节点的数据文件进行在线热备份,其中,通过Innobackupex工具中的全量备份和/或增量备份的方式,在从节点进行备份,备份工作不会对生产环境产生任何影响,对于任务量大,并且需要提供7*24小时服务的系统比较有意义。
在获取故障集群节点的数据文件的备份数据之后,根据备份数据和故障集群节点的配置文件,生成新建集群节点,本申请实施例对根据备份数据和故障集群节点的配置文件,生成新建集群节点的具体实现方式不做限制,在一种可能的实施方式中,根据备份数据和故障集群节点的配置文件,生成新建集群节点,包括:通过备份数据对故障集群节点的数据文件进行恢复;通过故障集群节点的配置文件生成新建集群节点的配置文件;调用集群启动命令,以重新启动新建集群节点。
通过备份数据对故障集群节点的数据文件进行恢复,然后通过故障集群节点的配置文件生成新建集群节点的配置文件,其中,故障集群节点的配置文件为有效的配置文件,若故障集群节点的配置文件无效,则可以通过获取最近一次故障集群节点为正常状态下的配置文件生成新建集群节点的配置文件,在生成新建集群节点的配置文件并对故障集群节点的数据文件恢复之后,调用集群启动命令,重新启动新建集群节点。
在生成新建集群节点之后,可以通过重新配置负载均衡节点,将新建集群节点加入集群组,并删除故障集群节点。本申请实施例对将新建集群节点加入集群组,并删除故障集群节点的具体实现方式不做限制,在一种可能的实施方式中,可以通过HAProxy程序实现,通过对HAProxy配置文件进行修改,加入新建集群节点信息,删除故障节点信息,然后重新加载配置文件,完成重新配置负载均衡节点。
本申请实施例通过根据备份数据和故障集群节点的配置文件,实现了对新建集群节点的生成,并通过将新建集群节点加入集群组,并删除故障集群节点,实现了对集群组的更新。
步骤S203:若故障集群节点的数据存储地址不存在数据文件目录和/或不存在数据文件,则重建故障集群节点。
若故障集群节点的数据存储地址不存在数据文件目录、或者故障集群节点的数据存储地址不存在数据文件、或故障集群节点的数据存储地址不存在数据文件目录和数据文件,则重建故障集群节点。
本申请实施例对重建故障集群节点的具体实现方式不做限制,具体可以参考步骤S202中对重建故障集群节点的方式的介绍,不再赘述。
本申请实施例中,通过在故障集群节点的数据存储地址存在数据文件目录且存在数据文件时,重启故障集群节点,可以提高自动恢复故障集群节点的效率,并且若重启故障集群节点失败,则重建故障集群节点,保证了故障集群节点的自动恢复;在故障集群节点的数据存储地址不存在数据文件目录和/或不存在数据文件时,说明集群节点出现严重错误,通过重建故障集群节点,保证了故障集群节点的自动恢复。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图5是本申请一实施例提供的集群节点的故障恢复装置的结构示意图,该装置可以通过软件和/或硬件的方式实现,如图5所示,本申请实施例提供的集群节点的故障恢复装置可以包括:
获取模块51,用于获取集群组中各集群节点的节点信息,集群节点的节点信息包括该集群节点的健康状态、数据存储地址;
确定模块52,用于在集群组中确定故障集群节点,故障集群节点是健康状态为下线状态的集群节点;
判断模块53,用于判断故障集群节点的数据存储地址是否存在数据文件目录和/或数据文件,得到判断结果;
处理模块54,用于根据判断结果,重启和/或重建故障集群节点。
在一种可实现的方式中,图6是本申请另一实施例提供的集群节点的故障恢复装置的结构示意图,该装置可以通过软件和/或硬件的方式实现,如图6所示,本申请实施例提供的集群节点的故障恢复装置,处理模块54,可以包括:
重启子模块541,用于若故障集群节点的数据存储地址存在数据文件目录且存在数据文件,则重启故障集群节点;
重建子模块542,用于若重启故障集群节点失败,则重建故障集群节点;
重建子模块542,还用于若故障集群节点的数据存储地址不存在数据文件目录和/或不存在数据文件,则重建故障集群节点。
在一种可实现的方式中,集群节点的节点信息还包括该集群节点的配置文件,重启子模块541,具体用于:
判断故障集群节点的配置文件的参数是否有效;
若故障集群节点的配置文件的参数有效,则调用集群启动命令,以重新启动故障集群节点;
若故障集群节点的配置文件的参数无效,则获取故障集群节点在最近一次正常状态下的目标配置文件,并调用集群启动命令,以通过目标配置文件重新启动故障集群节点。
在一种可实现的方式中,集群节点的节点信息还包括该集群节点的配置文件,重建子模块542,具体用于:
获取故障集群节点的数据文件的备份数据;
根据备份数据和故障集群节点的配置文件,生成新建集群节点;
将新建集群节点加入集群组,并删除故障集群节点。
在一种可实现的方式中,重建子模块542,具体用于:
通过备份数据对故障集群节点的数据文件进行恢复;
通过故障集群节点的配置文件生成新建集群节点的配置文件;
调用集群启动命令,以重新启动新建集群节点。
在一种可实现的方式中,如图6所示,本申请实施例提供的集群节点的故障恢复装置,还包括:
备份模块55,用于对各集群的数据文件进行备份,得到集群的备份数据。
本申请所提供的装置实施例仅仅是示意性的,图5和图6中的模块划分仅仅是一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个模块可以结合或者可以集成到另一个系统。各个模块相互之间的耦合可以是通过一些接口实现,这些接口通常是电性通信接口,但是也不排除可能是机械接口或其它的形式接口。因此,作为分离部件说明的模块可以是或者也可以不是物理上分开的,既可以位于一个地方,也可以分布到同一个或不同设备的不同位置上。
图7是本申请实施例提供的电子设备的结构示意图,如图7所示,该电子设备包括:
处理器61、存储器62、收发器63以及计算机程序;其中,收发器63实现与其他设备之间的数据传输,计算机程序被存储在存储器62中,并且被配置为由处理器61执行,计算机程序包括用于执行上述方法的指令,其内容及效果请参考集群节点的故障恢复方法实施例。
此外,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当用户设备的至少一个处理器执行该计算机执行指令时,用户设备执行上述各种可能的方法。
其中,计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于用户设备中。当然,处理器和存储介质也可以作为分立组件存在于通信设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种集群节点的故障恢复方法,其特征在于,包括:
获取集群组中各集群节点的节点信息,所述集群节点的节点信息包括该集群节点的健康状态、数据存储地址和配置文件;
在所述集群组中确定故障集群节点,所述故障集群节点是健康状态为下线状态的集群节点;
判断所述故障集群节点的数据存储地址是否存在数据文件目录和/或数据文件,得到判断结果;
若所述故障集群节点的数据存储地址存在所述数据文件目录且存在所述数据文件,则判断所述故障集群节点的配置文件的参数是否有效;
若所述故障集群节点的配置文件的参数有效,则调用集群启动命令,以重新启动所述故障集群节点;
若所述故障集群节点的配置文件的参数无效,则获取所述故障集群节点在最近一次正常状态下的目标配置文件,并调用所述集群启动命令,以通过所述目标配置文件重新启动所述故障集群节点;
若重启所述故障集群节点失败,则重建所述故障集群节点;
若所述故障集群节点的数据存储地址不存在所述数据文件目录和/或不存在所述数据文件,则重建所述故障集群节点。
2.根据权利要求1所述的方法,其特征在于,所述重建所述故障集群节点,包括:
获取所述故障集群节点的所述数据文件的备份数据;
根据所述备份数据和所述故障集群节点的配置文件,生成新建集群节点;
将所述新建集群节点加入所述集群组,并删除所述故障集群节点。
3.根据权利要求2所述的方法,其特征在于,所述根据所述备份数据和所述故障集群节点的配置文件,生成新建集群节点,包括:
通过所述备份数据对所述故障集群节点的所述数据文件进行恢复;
通过所述故障集群节点的配置文件生成所述新建集群节点的配置文件;
调用集群启动命令,以重新启动所述新建集群节点。
4.根据权利要求2所述的方法,其特征在于,在获取所述故障集群节点的所述数据文件的备份数据之前,还包括:
对集群的数据文件进行备份,得到所述集群的备份数据。
5.一种集群节点的故障恢复装置,其特征在于,包括:
获取模块,用于获取集群组中各集群节点的节点信息,所述集群节点的节点信息包括该集群节点的健康状态、数据存储地址和配置文件;
确定模块,用于在所述集群组中确定故障集群节点,所述故障集群节点是健康状态为下线状态的集群节点;
判断模块,用于判断所述故障集群节点的数据存储地址是否存在数据文件目录和/或数据文件,得到判断结果;
处理模块,包括:
重启子模块,用于若所述故障集群节点的数据存储地址存在所述数据文件目录且存在所述数据文件,则判断所述故障集群节点的配置文件的参数是否有效;若所述故障集群节点的配置文件的参数有效,则调用集群启动命令,以重新启动所述故障集群节点;若所述故障集群节点的配置文件的参数无效,则获取所述故障集群节点在最近一次正常状态下的目标配置文件,并调用所述集群启动命令,以通过所述目标配置文件重新启动所述故障集群节点;
重建子模块,用于若重启所述故障集群节点失败,则重建所述故障集群节点;
所述重建子模块,还用于若所述故障集群节点的数据存储地址不存在所述数据文件目录和/或不存在所述数据文件,则重建所述故障集群节点。
6.根据权利要求5所述的装置,其特征在于,所述集群节点的节点信息还包括该集群节点的配置文件,所述重建子模块,具体用于:
获取所述故障集群节点的所述数据文件的备份数据;
根据所述备份数据和所述故障集群节点的配置文件,生成新建集群节点;
将所述新建集群节点加入所述集群组,并删除所述故障集群节点。
7.根据权利要求6所述的装置,其特征在于,所述重建子模块,具体用于:
通过所述备份数据对所述故障集群节点的所述数据文件进行恢复;
通过所述故障集群节点的配置文件生成所述新建集群节点的配置文件;
调用集群启动命令,以重新启动所述新建集群节点。
8.根据权利要求6所述的装置,其特征在于,还包括:
备份模块,用于对集群的数据文件进行备份,得到所述集群的备份数据。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-4中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-4中任一项所述的方法。
CN201911239536.8A 2019-12-06 2019-12-06 集群节点的故障恢复方法、装置、电子设备及存储介质 Active CN111124755B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911239536.8A CN111124755B (zh) 2019-12-06 2019-12-06 集群节点的故障恢复方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911239536.8A CN111124755B (zh) 2019-12-06 2019-12-06 集群节点的故障恢复方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN111124755A CN111124755A (zh) 2020-05-08
CN111124755B true CN111124755B (zh) 2023-08-15

Family

ID=70497628

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911239536.8A Active CN111124755B (zh) 2019-12-06 2019-12-06 集群节点的故障恢复方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN111124755B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111698330B (zh) * 2020-06-12 2022-06-21 北京金山云网络技术有限公司 存储集群的数据恢复方法、装置及服务器
CN111770158B (zh) * 2020-06-24 2023-09-19 腾讯科技(深圳)有限公司 云平台恢复方法、装置、电子设备及计算机可读存储介质
CN111813604B (zh) * 2020-07-17 2022-06-10 济南浪潮数据技术有限公司 一种故障存储设备的数据恢复方法、系统及相关装置
CN112491633B (zh) * 2020-12-17 2023-01-24 北京浪潮数据技术有限公司 一种多节点集群的故障恢复方法、系统及相关组件
CN112328581B (zh) * 2020-12-30 2021-05-04 望海康信(北京)科技股份公司 ProxySQL自动运维系统、方法及相应设备和存储介质
CN112800028A (zh) * 2021-01-28 2021-05-14 中国工商银行股份有限公司 用于MySQL组复制的故障自恢复方法和装置
CN113282334A (zh) * 2021-06-07 2021-08-20 深圳华锐金融技术股份有限公司 软件缺陷的恢复方法、装置、计算机设备和存储介质
CN113726553A (zh) * 2021-07-29 2021-11-30 浪潮电子信息产业股份有限公司 一种节点故障恢复方法、装置、电子设备及可读存储介质
CN113778753B (zh) * 2021-09-14 2024-05-03 杭州沃趣科技股份有限公司 一种存储恢复后自动修正数据库方法、装置、设备及介质
CN114090344B (zh) * 2022-01-19 2022-04-29 苏州浪潮智能科技有限公司 用于容器集群的删除备份资源的方法、装置、设备及介质
CN114615141A (zh) * 2022-03-11 2022-06-10 贝壳找房网(北京)信息技术有限公司 通信控制方法

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761180A (zh) * 2014-01-11 2014-04-30 浪潮电子信息产业股份有限公司 一种集群存储中磁盘故障的预防及检测方法
CN103761162A (zh) * 2014-01-11 2014-04-30 深圳清华大学研究院 分布式文件系统的数据备份方法
CN105357038A (zh) * 2015-10-26 2016-02-24 北京百度网讯科技有限公司 监控虚拟机集群的方法和系统
WO2017039579A1 (en) * 2015-08-28 2017-03-09 Hewlett Packard Enterprise Development Lp Recovering from an origination node failure during an asynchronous replication
CN107026912A (zh) * 2017-05-12 2017-08-08 成都优孚达信息技术有限公司 嵌入式通信设备数据传输方法
CN107608826A (zh) * 2017-09-19 2018-01-19 郑州云海信息技术有限公司 一种存储集群的节点的故障恢复方法、装置及介质
CN107678883A (zh) * 2017-09-22 2018-02-09 郑州云海信息技术有限公司 一种基于存储系统的集群恢复方法及设备
CN107741966A (zh) * 2017-09-30 2018-02-27 郑州云海信息技术有限公司 一种节点管理方法及装置
CN107844388A (zh) * 2012-11-26 2018-03-27 亚马逊科技公司 从备份系统流式恢复数据库
CN109327332A (zh) * 2018-09-28 2019-02-12 南京易捷思达软件科技有限公司 一种Ceph云存储下基于LIO的iSCSI GateWay高可用实现方法
CN109542692A (zh) * 2018-11-21 2019-03-29 南京中孚信息技术有限公司 Greenplum集群监控方法和装置
CN110377456A (zh) * 2019-07-05 2019-10-25 苏州浪潮智能科技有限公司 一种虚拟化平台容灾的管理方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10203992B2 (en) * 2016-05-12 2019-02-12 Futurewei Technologies, Inc. Worker node rebuild for parallel processing system

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107844388A (zh) * 2012-11-26 2018-03-27 亚马逊科技公司 从备份系统流式恢复数据库
CN103761180A (zh) * 2014-01-11 2014-04-30 浪潮电子信息产业股份有限公司 一种集群存储中磁盘故障的预防及检测方法
CN103761162A (zh) * 2014-01-11 2014-04-30 深圳清华大学研究院 分布式文件系统的数据备份方法
WO2017039579A1 (en) * 2015-08-28 2017-03-09 Hewlett Packard Enterprise Development Lp Recovering from an origination node failure during an asynchronous replication
CN105357038A (zh) * 2015-10-26 2016-02-24 北京百度网讯科技有限公司 监控虚拟机集群的方法和系统
CN107026912A (zh) * 2017-05-12 2017-08-08 成都优孚达信息技术有限公司 嵌入式通信设备数据传输方法
CN107608826A (zh) * 2017-09-19 2018-01-19 郑州云海信息技术有限公司 一种存储集群的节点的故障恢复方法、装置及介质
CN107678883A (zh) * 2017-09-22 2018-02-09 郑州云海信息技术有限公司 一种基于存储系统的集群恢复方法及设备
CN107741966A (zh) * 2017-09-30 2018-02-27 郑州云海信息技术有限公司 一种节点管理方法及装置
CN109327332A (zh) * 2018-09-28 2019-02-12 南京易捷思达软件科技有限公司 一种Ceph云存储下基于LIO的iSCSI GateWay高可用实现方法
CN109542692A (zh) * 2018-11-21 2019-03-29 南京中孚信息技术有限公司 Greenplum集群监控方法和装置
CN110377456A (zh) * 2019-07-05 2019-10-25 苏州浪潮智能科技有限公司 一种虚拟化平台容灾的管理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
屠雪真.一种优化的Key-Value型NoSQL系统.《计算机工程》.2019,第45卷(第6期),第52-59页. *

Also Published As

Publication number Publication date
CN111124755A (zh) 2020-05-08

Similar Documents

Publication Publication Date Title
CN111124755B (zh) 集群节点的故障恢复方法、装置、电子设备及存储介质
EP3477914B1 (en) Data recovery method and device, and cloud storage system
US8990176B2 (en) Managing a search index
US20180150501A1 (en) Database system, server device, computer program product, and information processing method
US20180150230A1 (en) State machine abstraction for log-based consensus protocols
US20150213100A1 (en) Data synchronization method and system
CN109254998B (zh) 数据管理方法、物联网设备、数据库服务器及系统
CN109918360A (zh) 数据库平台系统、创建方法、管理方法、设备及存储介质
CN111338834B (zh) 数据存储方法和装置
CN106790378A (zh) 设备间的数据全同步方法、装置及系统
CN106383755A (zh) 在主从式数据库系统中恢复从库的方法、装置和系统
CN114117111A (zh) 一种信息检索方法、装置及系统
CN113468143A (zh) 数据迁移方法、系统、计算设备及存储介质
CN111752892B (zh) 分布式文件系统及其实现方法、管理系统、设备及介质
CN116701518A (zh) 数据库集群部署方法、装置、计算机设备及存储介质
US20180337987A1 (en) Method and system for high availability topology for master-slave data systems with low write traffic
CN113535430A (zh) 应用数据读写分离方法、装置、计算机设备和存储介质
Hawkridge et al. Comparison of Erlang/OTP and JADE implementations for standby redundancy in a holonic controller
US9747166B2 (en) Self healing cluster of a content management system
US7644306B2 (en) Method and system for synchronous operation of an application by a purality of processing units
CN104809033A (zh) 一种备份方法及系统
CN112131318B (zh) 一种数据库集群中预写日志记录排序系统
CN115297129B (zh) 数据通信网络建立方法及装置
CN113708960B (zh) 一种Zookeeper集群的部署方法、装置及设备
CN117032790A (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
GR01 Patent grant
GR01 Patent grant