CN112104727A - 一种精简高可用Zookeeper集群部署方法及系统 - Google Patents

一种精简高可用Zookeeper集群部署方法及系统 Download PDF

Info

Publication number
CN112104727A
CN112104727A CN202010948192.4A CN202010948192A CN112104727A CN 112104727 A CN112104727 A CN 112104727A CN 202010948192 A CN202010948192 A CN 202010948192A CN 112104727 A CN112104727 A CN 112104727A
Authority
CN
China
Prior art keywords
node
cluster
service
zookeeper
availability
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.)
Granted
Application number
CN202010948192.4A
Other languages
English (en)
Other versions
CN112104727B (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.)
Huayun Data Holding Group Co Ltd
Original Assignee
Huayun Data Holding Group 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 Huayun Data Holding Group Co Ltd filed Critical Huayun Data Holding Group Co Ltd
Priority to CN202010948192.4A priority Critical patent/CN112104727B/zh
Publication of CN112104727A publication Critical patent/CN112104727A/zh
Application granted granted Critical
Publication of CN112104727B publication Critical patent/CN112104727B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

本发明公开了一种精简高可用Zookeeper集群部署方法及系统,在Zookeeper两节点集群启动后,高可用组件实时检测节点运行状态进行健康检查,判定服务不可用时,检查本地节点配置的集群节点权重属性,如权重相等利用网关节点判断是否需切换节点对外服务;如权重不等比较本地节点权重与对端权重,判断是否切换节点对外服务;判定服务可用时,如权重相等不需要高可用组件干预;如权重不相等高可用组件读取并修改节点配置权重,回到初始健康模式,并重启使自动形成健康集群。本发明相比三节点集群少部署一个服务进程,降低了资源的消耗,巧妙利用Zookeeper的Group和Weight的特性,集群在只部署两个节点情况下,保证数据不丢失,能够最大程度的保证高可用。

Description

一种精简高可用Zookeeper集群部署方法及系统
技术领域
本发明涉及分布式服务技术领域,具体涉及一种精简高可用Zookeeper集群部署方法及系统。
背景技术
Zookeeper是一个开源的分布式协调服务,分布式应用程序可以基于Zookeeper实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master选举、配置维护,名字服务、分布式同步、分布式锁和分布式队列等功能。企业内部很多系统都会用到Zookeeper做分布式任务协调,这类系统最好的部署方案是三节点做高可用,通过paxos协议保证宕掉任意节点,集群仍然能对外提供服务,但对一些特别的场景,可能因为成本等原因没有三个物理节点,只有两个节点的情况,目前没有对应的Zookeeper集群部署方案。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中没有只包括两个节点对应的Zookeeper集群部署方案,从而提供一种精简高可用Zookeeper集群部署方法及系统。
为达到上述目的,本发明提供如下技术方案:
第一方面,本发明实施例提供一种精简高可用Zookeeper集群部署方法,包括如下步骤:
在Zookeeper两节点集群启动后,高可用组件启动实时检测节点运行状态,并检测包含网络层和应用层,获取Zookeeper的服务状态,进行预设次数的健康检查,检查到当网络和应用均不可达时,判定服务不可用,检查到当网络和应用可达时,判定服务可用;
判定服务不可用时,进一步检查本地节点配置的集群节点权重属性,如果权重相等,则利用网关节点,进一步判断是否需要切换节点对外服务;如果权重不相等,则通过比较本地节点权重与对端权重的大小,进一步判断是否切换节点对外服务;
判定服务可用时,进一步检查本地节点配置的集群节点权重属性,如果权重相等,根据paxos协议,集群本身就可以恢复到正常状态,不需要高可用组件干预;如果权重不相等,高可用组件读取并修改节点配置权重,回到初始健康模式,并重启使Zookeeper自动形成健康集群。
在一实施例中,健康检查的逻辑执行过程,包括:
高可用组件固定预设时间间隔检测进程是否启动,如果没有,高可用脚本尝试拉取服务进程,利用zk四字命令,检测zk服务是否正常,重复预设次数,如果实例都是返回notserving,表示没有加入集群。
在一实施例中,健康集群的健康状态包括两种集群模式:
2个zk均up,且Weight比为1:1;
1个zk为up,且Weight比为2:1。
在一实施例中,如果权重相等,则利用网关节点,进一步判断是否需要切换节点对外服务的过程,包括:
当检测到网关可达时,高可用组件修改Zookeeper配置文件节点Weight比为2:1,使之满足paxos大多数原则,提升本节点为leader;
当检测到网关不通且对端不可达,则不需要切换节点对外服务。
在一实施例中,如果权重不相等,则通过比较本地节点权重与对端权重的大小,进一步判断是否切换节点对外服务的过程,包括:
如果Zookeeper配置文件的本地节点的权重大于对端节点的权重,直接启动Zookeeper实例对外提供服务,如果已经对外服务,则不做动作,保持健康检查;
如果本地节点权重小于对端节点的权重,本地节点不修改权重,重复检测等待,直到能够检测到对端,否则须要等人工介入,由人根据业务数据一致性和连续性,做出判断和选择,处理集群节点。
在一实施例中,高可用组件检测对端节点,对端节点服务不可访问;权重列表里本节点不大于对端
在一实施例中,Zookeeper服务在操作系统级别设置为自启动。
第二方面,本发明实施例提供一种精简高可用Zookeeper集群部署系统,包括:
健康检查模块,用于在Zookeeper两节点集群启动后,高可用组件启动实时检测节点运行状态,并检测包含网络层和应用层,获取Zookeeper的服务状态,进行预设次数的健康检查,检查到当网络和应用均不可达时,判定服务不可用,检查到当网络和应用可达时,判定服务可用;
服务不可用处理模块,用于判定服务不可用时,进一步检查本地节点配置的集群节点权重属性,如果权重相等,则利用网关节点,进一步判断是否需要切换节点对外服务;如果权重不相等,则通过比较本地节点权重与对端权重的大小,进一步判断是否切换节点对外服务;
服务可用处理模块,用于判定服务可用时,进一步检查本地节点配置的集群节点权重属性,如果权重相等,根据paxos协议,集群本身就可以恢复到正常状态,不需要高可用组件干预;如果此时权重不相等,高可用组件读取并修改节点配置权重,回到初始健康模式,并重启使Zookeeper自动形成健康集群。
第三方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行本发明实施例第一方面的精简高可用Zookeeper集群部署方法。
第四方面,本发明实施例提供一种计算机设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行本发明实施例第一方面的精简高可用Zookeeper集群部署方法。
本发明技术方案,具有如下优点:
本发明提供的精简高可用Zookeeper集群部署方法及系统,在Zookeeper两节点集群启动后,高可用组件实时检测节点运行状态进行健康检查,判定服务不可用时,检查本地节点配置的集群节点权重属性,如权重相等利用网关节点判断是否需切换节点对外服务;如权重不等比较本地节点权重与对端权重,判断是否切换节点对外服务;判定服务可用时,如权重相等不需要高可用组件干预;如权重不相等高可用组件读取并修改节点配置权重,回到初始健康模式,并重启使自动形成健康集群。本发明相比三节点集群少部署一个服务进程,降低了资源的消耗,巧妙利用Zookeeper的Group和Weight的特性,集群在只部署两个节点情况下,保证数据不丢失,能够最大程度的保证高可用,也就是在只剩余一个节点,仍然能够对外提供服务。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中精简高可用Zookeeper集群部署方法的一个具体示例的工作流程图;
图2为本发明实施例中精简高可用Zookeeper集群部署系统的一个具体示例的模块组成图;
图3为本发明实施例提供的计算机设备一个具体示例的组成图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
实施例1
Zookeeper的集群有一个法则,整个集群的数量要过半存活,集群就是稳定的。此外官方文档中还提供了Group和Weight的配置,Zookeeper的Group配置的意思就是对整个大的Zookeeper集群进行分组,例如要配置一个系统,有三个组,每组三台服务器,每一个服务分配的权重为1,运行系统时一旦获得大多数非零权重组的多数选票,就能够形成法定人数;零权重的组在形成仲裁时被丢弃,不考虑。一旦从两个不同的组中的至少两台服务器获得投票,就能够形成仲裁。
本发明实施例提供一种精简高可用Zookeeper集群部署方法,在Zookeeper只有两节点的情况下,在保证数据一致性的基础上,寻求最大的高可用,为了使运行过程更加健壮可靠,Zookeeper服务在操作系统级别设置自启动。所述部署方法如图1所示,具体包括如下步骤:
步骤S10:在Zookeeper两节点集群启动后,高可用组件启动实时检测节点运行状态,并检测包含网络层和应用层,获取Zookeeper的服务状态,进行预设次数的健康检查,检查到当网络和应用均不可达时,判定服务不可用,检查到当网络和应用可达时,判定服务可用。
本发明实施例中健康检查的逻辑执行过程,包括:高可用组件固定预设时间间隔(例如30s,需要超过initLimit*tickTime时间)检测进程是否启动,如果没有,高可用脚本尝试拉取服务进程,利用zk四字命令,检测zk服务是否正常,重复预设次数(例如3次),如果实例都是返回not serving,表示没有加入集群。
需要说明的是,本发明实施例中initLimit*tickTime时间中的initLimit表示LF初始通信时限,集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量);tickTime表示Client-Server通信心跳时间,Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳。tickTime以毫秒为单位。
需要说明的是,本发明实施例中的zk可以通过它自身提供的简写命令来和服务器进行交互,进行交互之后可以提供一些服务器的状态信息、环境变量、包括一些临时会话(session)等等,四字命名非常适合运维去监控,比如conf,cons,crst,dump,envi,ruok等等命令,都是4个字母,被统称为zk四字指令。
本发明实施例中,定义以下两种集群模式为健康状态:
Figure BDA0002676011250000081
步骤S20:判定服务不可用时,进一步检查本地节点配置的集群节点权重属性,如果权重相等,则利用网关节点,进一步判断是否需要切换节点对外服务;如果权重不相等,则通过比较本地节点权重与对端权重的大小,进一步判断是否切换节点对外服务。
该步骤中,如果权重相等就表示之前没有做过切换,或者已经重新切换到初始状态。同时因为集群只有两个节点,不满足一般情况下大多数原则,需要借助第三方节点辅助判断,本发明实施例利用网关节点进一步确认判断。网关能通而对端只是网络不可达的情况是很少见,网关不通且对端不可达,但仍然在正常运行,业务一般也是不可用的,也就没有必要切换。当检测到网关可达时,高可用组件修改Zookeeper配置文件节点Weight比为2:1,使之满足paxos大多数原则,提升本节点为leader;当检测到网关不通且对端不可达,则不需要切换节点对外服务。
如果权重不相等,表示集群已经做过一次切换,此时需要判断Zookeeper配置文件,本地节点是否大于对端及诶单,如果本地节点的权重大于对端节点的权重,直接启动Zookeeper实例对外提供服务;如果已经对外服务,则不做动作,保持健康检查;如果本地节点权重小于对端节点的权重,表示上一次运行时,本地节点是作为follower节点运行的,有概率因为网络不通,本地节点没有通过到最新的leader节点的数据,为了避免数据丢失,本地节点不能修改权重,切换为leader,重复检测等待,直到能够检测到对端;否则须要等人工介入,由人根据业务数据一致性和连续性,做出判断和选择,处理集群节点。需要人工介入的判断依据,包括:高可用组件检测对端节点,对端节点服务不可访问;权重列表里本节点不大于对端。
步骤S30:判定服务可用时,进一步检查本地节点配置的集群节点权重属性,如果权重相等,根据paxos协议,集群本身就可以恢复到正常状态,不需要高可用组件干预;如果权重不相等,高可用组件读取并修改节点配置权重,回到初始健康模式,并重启使Zookeeper自动形成健康集群。
在本发明实施例中,如果权重不相等时,为了后期维护和状态判断的方便,需要读取并修改节点配置权重,回到1:1的模式,并重启让Zookeeper自动形成健康集群。
基于本发明实施例提供的精简高可用Zookeeper集群部署方法,假设物理A,B两节点组成Zookeeper最小集群,可以应用于以下场景:
场景一:原A leader节点不可访问,B节点重启提升为新leader。依据条件:
1、高可用组件检测对端节点,对端节点服务不可访问;
2、节点列表权重相等;
3、检测到网关可达(防止脑裂各自提升)。
执行动作:高可用组件设置本节点权重加1,重启成为单节点的leader,对外提供服务。
场景二:节点操作系统启动后,服务启动,需要组成两节点集群。依据条件:
1、高可用组件检测对端节点,对端节点服务可访问。
执行动作:本机修改本节点权重列表与对端节点相同,重启加入集群。
场景三:A节点宕机,B节点成为新leader后再一次宕机,然后分为A先启动和B先启动的场景。
场景3.1B节点先启动,节点可以直接对外提供服务。依据条件:
1、高可用组件检测对端节点,对端节点服务不可访问;
2、权重列表里本节点大于对端。
执行动作:直接启动对外提供服务。
场景3.2A节点先启动,不允许高可用组件设置权重。此时对端节点可能数据最新,只能直接启动Zookeeper,等待zk自己组建集群,或者人工介入判断,判断依据为:
1、高可用组件检测对端节点,对端节点服务不可访问
2、权重列表里本节点不大于对端。
本发明实施例提出的精简高可用Zookeeper集群部署方法,相比现有系统中三个物理节点,少部署一个服务进程,降低了资源的消耗,巧妙利用Zookeeper的Group和Weight的特性,Zookeeper集群在只部署两个节点,在资源受限条件下,保证数据不丢失,仍然能够最大程度的保证高可用,也就是在只剩余一个节点,仍然能够对外提供服务。
实施例2
本发明实施例提供一种精简高可用Zookeeper集群部署系统,如图2所示,包括:
健康检查模块10,用于在Zookeeper两节点集群启动后,高可用组件启动实时检测节点运行状态,并检测包含网络层和应用层,获取Zookeeper的服务状态,进行预设次数的健康检查,检查到当网络和应用均不可达时,判定服务不可用,检查到当网络和应用可达时,判定服务可用。此模块执行实施例1中的步骤S10所描述的方法,在此不再赘述。
服务不可用处理模块20,用于判定服务不可用时,进一步检查本地节点配置的集群节点权重属性,如果权重相等,则利用网关节点,进一步判断是否需要切换节点对外服务;如果权重不相等,则通过比较本地节点权重与对端权重的大小,进一步判断是否切换节点对外服务。此模块执行实施例1中的步骤S20所描述的方法,在此不再赘述。
服务可用处理模块30,用于判定服务可用时,进一步检查本地节点配置的集群节点权重属性,如果权重相等,根据paxos协议,集群本身就可以恢复到正常状态,不需要高可用组件干预;如果此时权重不相等,高可用组件读取并修改节点配置权重,回到初始健康模式,并重启使Zookeeper自动形成健康集群。此模块执行实施例1中的步骤30所描述的方法,在此不再赘述。
本发明实施例提供的精简高可用Zookeeper集群部署系统,相比现有系统中三个物理节点,少部署一个服务进程,降低了资源的消耗,巧妙利用Zookeeper的Group和Weight的特性,Zookeeper集群在只部署两个节点,在资源受限条件下,保证数据不丢失,仍然能够最大程度的保证高可用,也就是在只剩余一个节点,仍然能够对外提供服务。
实施例3
本发明实施例提供一种计算机设备,如图3所示,该设备可以包括处理器51和存储器52,其中处理器51和存储器52可以通过总线或者其他方式连接,图3以通过总线连接为例。
处理器51可以为中央处理器(Central Processing Unit,CPU)。处理器51还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。
存储器52作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的对应的程序指令/模块。处理器51通过运行存储在存储器52中的非暂态软件程序、指令以及模块,从而执行处理器的各种功能应用以及数据处理,即实现上述方法实施例1中的精简高可用Zookeeper集群部署方法。
存储器52可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器51所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器52可选包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至处理器51。上述网络的实例包括但不限于互联网、企业内部网、企业内网、移动通信网及其组合。
一个或者多个模块存储在存储器52中,当被处理器51执行时,执行实施例1中的精简高可用Zookeeper集群部署方法。
上述计算机设备具体细节可以对应参阅实施例1中对应的相关描述和效果进行理解,此处不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-StateDrive,SSD)等;存储介质还可以包括上述种类的存储器的组合。
显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

Claims (10)

1.一种精简高可用Zookeeper集群部署方法,其特征在于,所述Zookeeper集群包括两个节点,所述部署方法包括如下步骤:
在Zookeeper两节点集群启动后,高可用组件启动实时检测节点运行状态,并检测包含网络层和应用层,获取Zookeeper的服务状态,进行预设次数的健康检查,检查到当网络和应用均不可达时,判定服务不可用,检查到当网络和应用可达时,判定服务可用;
判定服务不可用时,进一步检查本地节点配置的集群节点权重属性,如果权重相等,则利用网关节点,进一步判断是否需要切换节点对外服务;如果权重不相等,则通过比较本地节点权重与对端权重的大小,进一步判断是否切换节点对外服务;
判定服务可用时,进一步检查本地节点配置的集群节点权重属性,如果权重相等,根据paxos协议,集群本身就可以恢复到正常状态,不需要高可用组件干预;如果权重不相等,高可用组件读取并修改节点配置权重,回到初始健康模式,并重启使Zookeeper自动形成健康集群。
2.根据权利要求1所述的精简高可用Zookeeper集群部署方法,其特征在于,健康检查的逻辑执行过程,包括:
高可用组件固定预设时间间隔检测进程是否启动,如果没有,高可用脚本尝试拉取服务进程,利用zk四字命令,检测zk服务是否正常,重复预设次数,如果实例都是返回notserving,表示没有加入集群。
3.根据权利要求2所述的精简高可用Zookeeper集群部署方法,其特征在于,健康集群的健康状态包括两种集群模式:
2个zk均up,且Weight比为1:1;
1个zk为up,且Weight比为2:1。
4.根据权利要求1所述的精简高可用Zookeeper集群部署方法,其特征在于,如果权重相等,则利用网关节点,进一步判断是否需要切换节点对外服务的过程,包括:
当检测到网关可达时,高可用组件修改Zookeeper配置文件节点Weight比为2:1,使之满足paxos大多数原则,提升本节点为leader;
当检测到网关不通且对端不可达,则不需要切换节点对外服务。
5.根据权利要求1所述的精简高可用Zookeeper集群部署方法,其特征在于,如果权重不相等,则通过比较本地节点权重与对端权重的大小,进一步判断是否切换节点对外服务的过程,包括:
如果Zookeeper配置文件的本地节点的权重大于对端节点的权重,直接启动Zookeeper实例对外提供服务,如果已经对外服务,则不做动作,保持健康检查;
如果本地节点权重小于对端节点的权重,本地节点不修改权重,重复检测等待,直到能够检测到对端,否则须要等人工介入,由人根据业务数据一致性和连续性,做出判断和选择,处理集群节点。
6.根据权利要求3所述的精简高可用Zookeeper集群部署方法,其特征在于,需要人工介入的判断依据,包括:
高可用组件检测对端节点,对端节点服务不可访问;
权重列表里本节点不大于对端。
7.根据权利要求1所述的精简高可用Zookeeper集群部署方法,其特征在于,Zookeeper服务在操作系统级别设置为自启动。
8.一种精简高可用Zookeeper集群部署系统,其特征在于,包括:
健康检查模块,用于在Zookeeper两节点集群启动后,高可用组件启动实时检测节点运行状态,并检测包含网络层和应用层,获取Zookeeper的服务状态,进行预设次数的健康检查,检查到当网络和应用均不可达时,判定服务不可用,检查到当网络和应用可达时,判定服务可用;
服务不可用处理模块,用于判定服务不可用时,进一步检查本地节点配置的集群节点权重属性,如果权重相等,则利用网关节点,进一步判断是否需要切换节点对外服务;如果权重不相等,则通过比较本地节点权重与对端权重的大小,进一步判断是否切换节点对外服务;
服务可用处理模块,用于判定服务可用时,进一步检查本地节点配置的集群节点权重属性,如果权重相等,根据paxos协议,集群本身就可以恢复到正常状态,不需要高可用组件干预;如果此时权重不相等,高可用组件读取并修改节点配置权重,回到初始健康模式,并重启使Zookeeper自动形成健康集群。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行如权利要求1-7任一项所述的精简高可用Zookeeper集群部署方法。
10.一种计算机设备,其特征在于,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行如权利要求1-7任一项所述的精简高可用Zookeeper集群部署方法。
CN202010948192.4A 2020-09-10 2020-09-10 一种精简高可用Zookeeper集群部署方法及系统 Active CN112104727B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010948192.4A CN112104727B (zh) 2020-09-10 2020-09-10 一种精简高可用Zookeeper集群部署方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010948192.4A CN112104727B (zh) 2020-09-10 2020-09-10 一种精简高可用Zookeeper集群部署方法及系统

Publications (2)

Publication Number Publication Date
CN112104727A true CN112104727A (zh) 2020-12-18
CN112104727B CN112104727B (zh) 2021-11-30

Family

ID=73750887

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010948192.4A Active CN112104727B (zh) 2020-09-10 2020-09-10 一种精简高可用Zookeeper集群部署方法及系统

Country Status (1)

Country Link
CN (1) CN112104727B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112887367A (zh) * 2021-01-11 2021-06-01 华云数据控股集团有限公司 实现分布式集群高可用的方法、系统及计算机可读介质
CN113377702A (zh) * 2021-07-06 2021-09-10 安超云软件有限公司 两节点集群启动的方法及装置、电子设备和存储介质
CN113708960A (zh) * 2021-08-20 2021-11-26 建信金融科技有限责任公司 一种Zookeeper集群的部署方法、装置及设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104778102A (zh) * 2015-03-27 2015-07-15 深圳市创梦天地科技有限公司 一种主备切换方法及系统
WO2016058307A1 (zh) * 2014-10-15 2016-04-21 中兴通讯股份有限公司 资源的故障处理方法及装置
WO2016150066A1 (zh) * 2015-03-25 2016-09-29 中兴通讯股份有限公司 一种主节点选举方法、装置及存储系统
WO2017152736A1 (zh) * 2016-03-07 2017-09-14 中兴通讯股份有限公司 一种分布式文件系统hdfs的管理方法、装置及系统
CN108206768A (zh) * 2016-12-20 2018-06-26 阿里巴巴集团控股有限公司 集群监测和切换方法及装置
CN109495312A (zh) * 2018-12-05 2019-03-19 广州鼎甲计算机科技有限公司 基于仲裁盘和双链路的高可用集群的实现方法和系统
CN111641522A (zh) * 2020-05-25 2020-09-08 杭州安恒信息技术股份有限公司 节点切换的方法、系统和计算机设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016058307A1 (zh) * 2014-10-15 2016-04-21 中兴通讯股份有限公司 资源的故障处理方法及装置
WO2016150066A1 (zh) * 2015-03-25 2016-09-29 中兴通讯股份有限公司 一种主节点选举方法、装置及存储系统
CN104778102A (zh) * 2015-03-27 2015-07-15 深圳市创梦天地科技有限公司 一种主备切换方法及系统
WO2017152736A1 (zh) * 2016-03-07 2017-09-14 中兴通讯股份有限公司 一种分布式文件系统hdfs的管理方法、装置及系统
CN108206768A (zh) * 2016-12-20 2018-06-26 阿里巴巴集团控股有限公司 集群监测和切换方法及装置
CN109495312A (zh) * 2018-12-05 2019-03-19 广州鼎甲计算机科技有限公司 基于仲裁盘和双链路的高可用集群的实现方法和系统
CN111641522A (zh) * 2020-05-25 2020-09-08 杭州安恒信息技术股份有限公司 节点切换的方法、系统和计算机设备

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112887367A (zh) * 2021-01-11 2021-06-01 华云数据控股集团有限公司 实现分布式集群高可用的方法、系统及计算机可读介质
CN113377702A (zh) * 2021-07-06 2021-09-10 安超云软件有限公司 两节点集群启动的方法及装置、电子设备和存储介质
CN113377702B (zh) * 2021-07-06 2024-03-22 安超云软件有限公司 两节点集群启动的方法及装置、电子设备和存储介质
CN113708960A (zh) * 2021-08-20 2021-11-26 建信金融科技有限责任公司 一种Zookeeper集群的部署方法、装置及设备
CN113708960B (zh) * 2021-08-20 2023-05-26 建信金融科技有限责任公司 一种Zookeeper集群的部署方法、装置及设备

Also Published As

Publication number Publication date
CN112104727B (zh) 2021-11-30

Similar Documents

Publication Publication Date Title
CN112104727B (zh) 一种精简高可用Zookeeper集群部署方法及系统
US10609159B2 (en) Providing higher workload resiliency in clustered systems based on health heuristics
US10983880B2 (en) Role designation in a high availability node
CN108123851B (zh) 分布式系统中主从节点同步链路的存活检测方法及装置
CN112596960B (zh) 一种分布式存储服务切换方法及装置
CN108306955B (zh) 一种车载终端大规模互联集群方法
CN109245926B (zh) 智能网卡、智能网卡系统及控制方法
CN106960060B (zh) 一种数据库集群的管理方法及装置
CN107508694B (zh) 一种集群内的节点管理方法及节点设备
CN111176888B (zh) 云存储的容灾方法、装置及系统
CN111163173B (zh) 集群配置方法、装置、服务器及可读存储介质
CN107682169B (zh) 一种利用Kafka集群发送消息的方法和装置
US11461198B2 (en) Method to disable or reboot unresponsive device with active uplink in a ring network
CN109361542A (zh) 客户端的故障处理方法、装置、系统、终端和服务器
CN112612769A (zh) 文件处理方法、装置及存储介质
CN110618889A (zh) 服务可用性的探测方法、装置、计算机设备和存储介质
CN108228789B (zh) 从节点触发的同步异常恢复方法及装置
CN115499447A (zh) 一种集群主节点确认方法、装置、电子设备及存储介质
US20110238959A1 (en) Distributed controller, distributed processing system, and distributed processing method
CN108111630B (zh) 一种Zookeeper集群系统及其连接方法和系统
CN109542981B (zh) 一种数据同步的系统及方法、电子设备、存储介质
CN116263727A (zh) 主备数据库集群及选主方法、计算设备及计算机存储介质
CN114840495A (zh) 一种数据库集群防脑裂的方法、存储介质与设备
CN110286732B (zh) 高可用集群掉电自动恢复方法、装置、设备及存储介质
CN104283950B (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