CN114745376B - 一种ZooKeeper集群运维方法、装置及电子设备、存储介质 - Google Patents

一种ZooKeeper集群运维方法、装置及电子设备、存储介质 Download PDF

Info

Publication number
CN114745376B
CN114745376B CN202011549673.4A CN202011549673A CN114745376B CN 114745376 B CN114745376 B CN 114745376B CN 202011549673 A CN202011549673 A CN 202011549673A CN 114745376 B CN114745376 B CN 114745376B
Authority
CN
China
Prior art keywords
zookeeper
cluster
zookeeper cluster
information
cluster information
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
CN202011549673.4A
Other languages
English (en)
Other versions
CN114745376A (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.)
NetsUnion Clearing Corp
Original Assignee
NetsUnion Clearing Corp
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 NetsUnion Clearing Corp filed Critical NetsUnion Clearing Corp
Priority to CN202011549673.4A priority Critical patent/CN114745376B/zh
Publication of CN114745376A publication Critical patent/CN114745376A/zh
Application granted granted Critical
Publication of CN114745376B publication Critical patent/CN114745376B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了一种ZooKeeper集群运维方法、装置及电子设备、存储介质,由ZooKeeper集群控制服务器执行,该方法包括:对ZooKeeper集群的集群信息进行整合处理,得到ZooKeeper集群数据表;接收ZooKeeper集群信息查询请求;根据ZooKeeper集群信息查询请求,在ZooKeeper集群数据表中进行查询,得到ZooKeeper集群信息查询结果,以使运维终端能够根据ZooKeeper集群信息查询结果对所述ZooKeeper集群进行运维。本申请的ZooKeeper集群运维方法简化了人工查询ZooKeeper集群信息的过程,且无需手动对集群信息进行筛选分析,降低了用户的操作难度,且大大提高了对集群信息的查询和分析效率,进而提高了对ZooKeeper集群的运维效率。

Description

一种ZooKeeper集群运维方法、装置及电子设备、存储介质
技术领域
本申请涉及分布式集群技术领域,尤其涉及一种ZooKeeper集群运维方法、装置及电子设备、存储介质。
背景技术
ZooKeeper是一个开放源码的分布式应用程序协调服务,是Google(谷歌)开发的一个为分布式应用提供一致性服务的软件,提供的功能主要包括配置维护、域名服务、分布式同步、组服务等。
实际应用场景下,ZooKeeper通常会运行在多台机器上,即存在多个节点,以此形成ZooKeeper集群。ZooKeeper集群的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。
为了及时了解到ZooKeeper集群的运行信息及状态信息,便于后续ZooKeeper集群的运维,现有技术中主要采用了人工查询集群信息并手动进行筛选分析的方式来实现,然而这种方法较为繁琐且效率低下。
发明内容
本申请实施例提供了一种ZooKeeper集群运维方法、装置及电子设备、存储介质,以提高对ZooKeeper集群信息的查询和分析效率。
本申请实施例采用下述技术方案:
第一方面,本申请实施例提供一种ZooKeeper集群运维方法,由ZooKeeper集群控制服务器执行,其中,所述方法包括:
对ZooKeeper集群的集群信息进行整合处理,得到ZooKeeper集群数据表;
接收ZooKeeper集群信息查询请求;
根据所述ZooKeeper集群信息查询请求,在所述ZooKeeper集群数据表中进行查询,得到ZooKeeper集群信息查询结果,以使运维终端能够根据所述ZooKeeper集群信息查询结果对所述ZooKeeper集群进行运维。
可选地,所述对ZooKeeper集群的集群信息进行整合处理,得到ZooKeeper集群数据表包括:
获取所述ZooKeeper集群的集群信息,并存储在预设数据库中;
根据所述集群信息的维度,对所述预设数据库中存储的集群信息进行整合处理,得到所述ZooKeeper集群数据表。
可选地,所述获取所述ZooKeeper集群的集群信息包括:
利用ZooKeeper四字命令,与ZooKeeper集群所在的多个服务端进行通信,得到各服务端返回的信息,并将各服务端返回的信息作为所述ZooKeeper集群的集群信息。
可选地,所述集群信息的维度包括ZooKeeper集群的运行状态、ZooKeeper集群的各服务端的连接情况、服务端IP地址、服务名称和会话ID中的一种或多种。
可选地,所述根据所述集群信息的维度,对所述预设数据库中存储的集群信息进行整合处理,得到所述ZooKeeper集群数据表包括:
根据所述集群信息中的会话ID,将所述集群信息的各维度进行关联,得到所述ZooKeeper集群数据表。
可选地,所述ZooKeeper集群信息查询请求包括目标服务名称,所述根据所述ZooKeeper集群信息查询请求,在所述ZooKeeper集群数据表中进行查询,得到ZooKeeper集群信息查询结果包括:
根据所述目标服务名称,在所述ZooKeeper集群数据表中查询与所述目标服务名称对应的目标关联信息,并将所述目标关联信息作为所述集群信息查询结果。
可选地,所述方法还包括:
提供前端页面;
将所述ZooKeeper集群信息查询结果在所述前端页面上以树形图的形式进行展示;
所述接收ZooKeeper集群信息查询请求包括:
通过所述前端页面接收所述ZooKeeper集群信息查询请求。
可选地,所述方法还包括:
按照预设更新频率对所述ZooKeeper集群数据表进行更新。
第二方面,本申请实施例还提供一种ZooKeeper集群运维装置,应用于ZooKeeper集群控制服务器,其中,所述装置用于实现前述之任一所述方法。
第三方面,本申请实施例还提供一种ZooKeeper集群运维服务器,包括如前述所述装置。
第四方面,本申请实施例还提供一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行前述之任一所述方法。
第五方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行前述之任一所述方法。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:本申请实施例的ZooKeeper集群运维方法可以由单独部署的ZooKeeper集群控制服务器来执行。在对ZooKeeper集群进行运维时,需要先对ZooKeeper集群的集群信息进行整合处理,并根据整合处理结果生成ZooKeeper集群数据表,以此作为后续集群信息查询的依据。然后接收ZooKeeper集群信息查询请求,根据ZooKeeper集群信息查询请求,在上述ZooKeeper集群数据表中进行查询,进而可以得到ZooKeeper集群信息查询结果,以使相关人员能够及时了解到ZooKeeper集群如各节点的运行情况及状态信息等,进而便于后续运维终端能够根据ZooKeeper集群各节点的运行情况及状态信息等对ZooKeeper集群进行运维。本申请实施例的ZooKeeper集群运维方法简化了人工查询ZooKeeper集群信息的过程,且无需手动对ZooKeeper集群信息进行筛选分析,降低了用户的操作难度,且大大提高了对集群信息的查询和分析效率,进而提高了对ZooKeeper集群的运维效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为现有技术中一种对ZooKeeper集群信息进行查询和分析的流程框图;
图2为本申请实施例中一种ZooKeeper集群运维方法的流程框图;
图3为本申请实施例中一种ZooKeeper集群与ZooKeeper集群控制服务器的交互示意图;
图4为本申请实施例中一种ZooKeeper集群的查询列表示例图;
图5为本申请实施例中一种ZooKeeper集群信息查询结果的树形图;
图6为本申请实施例中一种ZooKeeper集群运维流程示意图;
图7为本申请实施例中一种ZooKeeper集群运维装置的结构示意图;
图8为本申请实施例中一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
现有技术中提供了一种ZooKeeper集群的集群信息的查询和分析方法,该方法主要采用ZooKeeper四字命令来对目标信息进行查询和分析,ZooKeeper支持一些用来获取服务状态和相关信息的命令,这些命令由四个字母构成,因此一般称为四字命令。
如图1所示,提供了现有技术中一种ZooKeeper集群的集群信息进行查询和分析的流程框图,这里以查询服务器IP地址为例进行说明。首先用户可以向ZooKeeper集群所在的各服务端发送wchc命令,wchc命令是指通过会话列出服务端监听的详细信息,它的输出是一个与监听相关的会话的列表,因此各节点根据接收到的wchc命令会返回本节点的相关信息,进而可以得到各节点返回的所有的服务名称及对应的会话ID(Session ID),然后从所有的服务名称及对应的会话ID中查找出用户所需要查询的目标服务名称及对应的目标Session ID。
之后用户需要再向ZooKeeper集群中的各节点发送一次cons命令,cons命令是指列出所有连接到服务器的客户端的完全的连接/会话的详细信息,包括“接收/发送”的包数量、Session ID、操作延迟、最后的操作执行等等信息,因此各节点会根据cons命令返回所有与客户端连接的服务器IP地址及对应的Session ID。
最后根据上述得到的目标Session ID在各节点返回的所有与客户端连接的服务器IP地址中查找出目标服务器IP地址,由此完成对目标服务器IP地址的查询过程。
可以看出,现有技术中的ZooKeeper集群信息的查询和分析方法至少需要人工手动输入两次四字命令进行查询,导致用户发送命令的操作过程较为繁琐,而且由于注册在ZooKeeper集群中的服务器连接众多,需要用户对命令返回的大量结果进行手动分析筛选,效率低下。
即使能够利用脚本程序自动化地输入四字命令,但由于用户的需求是多样化的,如果针对每一类用户需求分别开发脚本程序,会造成脚本程序繁多、零散,不易管理。
基于此,本申请实施例提供了一种ZooKeeper集群运维方法,由ZooKeeper集群控制服务器执行,如图2所示,所述方法包括如下的步骤S210至步骤S230:
步骤S210,对ZooKeeper集群的集群信息进行整合处理,得到ZooKeeper集群数据表。
本申请实施例的ZooKeeper集群运维方法可以由单独部署的ZooKeeper集群控制服务器来执行,该服务器上部署有ZooKeeper集群控制系统,ZooKeeper集群控制系统可以理解为是一种对ZooKeeper集群进行管理以及状态展示等的综合信息管理系统。
ZooKeeper通常分布在多个服务端上运行,每个服务端都可以看做是一个节点,多个节点构成了ZooKeeper集群,因此本申请实施例的“集群信息”可以理解为是ZooKeeper在各服务端上的运行情况及状态等信息。在对ZooKeeper集群进行运维时,可以先通过上述ZooKeeper集群控制系统对注册在ZooKeeper集群中的所有节点的信息进行整合处理,然后根据整合处理的结果生成一个ZooKeeper集群数据表,从而将零散的信息整合到一起,以便于后续对ZooKeeper集群中的集群信息进行快速查询。
步骤S220,接收ZooKeeper集群信息查询请求。
在构建好ZooKeeper集群数据表后,会接收到ZooKeeper集群信息查询请求,例如用户可以在上述ZooKeeper集群控制系统上来触发这一请求,ZooKeeper集群信息查询请求中通常会携带有用户输入的查询条件,如查询某个服务名称或者某个会话ID对应的服务器IP地址等等。
需要说明的是,这里的ZooKeeper集群信息查询请求不再是采用四字命令的方式来实现,而是可以通过ZooKeeper集群控制系统上提供的搜索框或者信息列表等方式来实现,即用户无需再多次触发四字命令来获取集群信息,简化了用户查询集群信息的操作流程,进而提高了查询效率。
步骤S230,根据所述ZooKeeper集群信息查询请求,在所述ZooKeeper集群数据表中进行查询,得到ZooKeeper集群信息查询结果,以使运维终端能够根据所述ZooKeeper集群信息查询结果对所述ZooKeeper集群进行运维。
在接收到ZooKeeper集群信息查询请求后,可以在上述已经构建好的ZooKeeper集群数据表中对ZooKeeper集群信息查询请求中所携带的信息进行查询,进而可以得到ZooKeeper集群信息查询结果,以使相关人员能够及时了解到ZooKeeper集群如各节点的运行情况及状态信息等,进而便于后续运维终端能够根据ZooKeeper集群各节点的运行情况及状态信息等对ZooKeeper集群进行运维处理。
举例说明,实际应用场景下,ZooKeeper集群中的一些节点有时会产生很多脏数据,脏数据可以理解为是源系统中的数据不在给定的范围内或对于实际业务毫无意义,或是数据格式非法,以及在源系统中存在不规范的编码和含糊的业务逻辑。需要尽可能避免脏数据的产生,因此本申请实施例对ZooKeeper集群进行运维的意义之一在于,定位到ZooKeeper集群中到底是谁创建或者使用了这些节点,进而需要去查这些节点的服务名称对应的服务器IP地址,以对该服务器进行处理如暂时停用等等,进而减少脏数据的产生。
当然,上述得到的ZooKeeper集群信息查询结果中具体展示哪些维度的信息,本领域技术人员可根据实际情况灵活配置,在此不做具体限定。
本申请实施例的ZooKeeper集群运维方法简化了人工查询ZooKeeper集群的集群信息的过程,且无需手动对ZooKeeper集群的集群信息进行筛选分析,降低了用户的操作难度,且大大提高了对集群信息的查询和分析效率,进而提高了对ZooKeeper集群的运维效率。
如图3所示,提供了一种本申请的ZooKeeper集群运维方法涉及到的各个系统之间的交互过程示意图,ZooKeeper集群中的各个服务端通过与多个客户端进行通信连接和信息交互,以满足客户端的服务需求。ZooKeeper集群控制服务器通过与ZooKeeper集群中的多个服务端进行通信,以查询各服务端的服务状态等,并将查询到的异常结果及时反馈给运维终端进行处理。
在本申请的一个实施例中,所述对ZooKeeper集群的集群信息进行整合处理,得到ZooKeeper集群数据表包括:获取所述ZooKeeper集群的集群信息,并存储在预设数据库中;根据所述集群信息的维度,对所述预设数据库中存储的集群信息进行整合处理,得到所述ZooKeeper集群数据表。
本申请实施例在对ZooKeeper集群的集群信息进行整合处理时,先获取了ZooKeeper集群的集群信息,这里的集群信息可以理解为是包含了ZooKeeper集群中所有节点的运行信息和状态信息,即用户需要了解到的所有的ZooKeeper集群的信息都涵盖在该范围内。
为了便于对集群信息的管理和分析,这里可以将获取到的ZooKeeper集群的集群信息存储在预设数据库中,相比于现有的通过四字命令直接进行查询和分析的方式,本申请实施例通过事先将获取到的ZooKeeper集群的集群信息存储在数据库中,可大大提高对集群信息的分析效率,为后续集群信息的查询提供有力的支撑。
集群信息中包含的信息是方方面面的,因此为了提高对集群信息整合处理的效率,本申请实施例在将集群信息存储到预设数据库中后,可以根据集群信息的不同维度,对预设数据库中存储的集群信息进行整合处理,并根据整合处理结果生成ZooKeeper集群数据表。
在本申请的一个实施例中,上述集群信息的维度具体可以包括ZooKeeper集群的运行状态、ZooKeeper集群的各服务端的连接情况、服务端IP地址、服务名称和会话ID(Session ID)等。
ZooKeeper集群的运行状态是指ZooKeeper集群中各节点的运行情况,ZooKeeper集群的各服务端的连接情况是指ZooKeeper集群中的各服务端与客户端的连接情况,服务端IP地址即指ZooKeeper集群中各节点所在的服务器的IP地址。
ZooKeeper能够提供命名服务,命名服务是指通过指定的名字来获取资源或者服务的地址,提供者的信息。利用ZooKeeper可以创建一个全局的路径,而这个路径就可以作为一个名字即服务名称,它可以指向集群中的节点,提供的服务的地址,远程对象等,也就是说使用ZooKeeper做命名服务就是用路径作为名字,路径上的数据就是其名字指向的实体。
ZooKeeper使用会话(Session)来表示客户端和服务端的连接,当Session创建成功后,ZooKeeper集群中的服务端为Session分配一个唯一标识,ZooKeeper的每个Session都会被分配一个64bit的数字来标识,称为Session ID,被分配到客户端,如果客户端重连到一个不同的ZooKeeper集群中的服务端,该Session ID将被发送到该服务端。为了保障安全,服务端会为该Session ID创建一个所有ZooKeeper服务器都能验证的密码,当Session被建立时,密码和Session ID一起被发送到客户端,客户端在与一个新的服务端重建连接时,客户端会将密码和Session ID一同发送到新的服务端。
在本申请的一个实施例中,所述获取所述ZooKeeper集群的集群信息包括:利用ZooKeeper四字命令,与ZooKeeper集群所在的多个服务端进行通信,得到各服务端返回的信息,并将各服务端返回的信息作为所述ZooKeeper集群的集群信息。
在获取ZooKeeper集群的集群信息时,可以利用ZooKeeper四字命令,与ZooKeeper集群所在的各服务端进行通信的方式来获取。
如下表1所示,现有的ZooKeeper四字命令主要包含如下几种类型,通过利用下表1中的ZooKeeper四字命令,与ZooKeeper集群中各节点所在的服务端进行通信,进而可以得到各节点返回的信息,并以此作为ZooKeeper集群的集群信息。
表1
为了为后续集群信息的查询提供全面的查询基础,这里可以向ZooKeeper集群中的各节点发送上表1中的所有ZooKeeper四字命令,以得到全面的ZooKeeper集群的集群信息。当然需要说明的是,本领域技术人员也可以根据实际需求选择适当的四字命令来获取相应的集群信息,在此不作具体限定。
在本申请的一个实施例中,所述根据所述集群信息的维度,对所述预设数据库中存储的集群信息进行整合处理,得到所述ZooKeeper集群数据表包括:根据所述集群信息中的会话ID,将所述集群信息的各维度进行关联,得到所述ZooKeeper集群数据表。
如前所述,Session ID是用来表示客户端和服务端的之间连接的唯一标识,每一个连接都对应唯一的一个Session ID,因此本申请实施例在对获取到的集群信息进行整合处理时,可以将Session ID作为关联条件,将该Session ID对应的其他维度的信息如服务名称、服务器IP地址等与该Session ID建立关联关系,以此形成ZooKeeper集群数据表。
在本申请的一个实施例中,所述ZooKeeper集群信息查询请求包括目标服务名称,所述根据所述ZooKeeper集群信息查询请求,在所述ZooKeeper集群数据表中进行查询,得到ZooKeeper集群信息查询结果包括:根据所述目标服务名称,在所述ZooKeeper集群数据表中查询与所述目标服务名称对应的目标关联信息,并将所述目标关联信息作为所述集群信息查询结果。
本申请实施例接收到的ZooKeeper集群信息查询请求中可以包括目标服务名称,即用户想要查询的服务名称,根据目标服务名称在上述已构建好的ZooKeeper集群数据表中进行查询。由于ZooKeeper集群数据表中建立了各个维度的集群信息的关联关系,因此在ZooKeeper集群数据表中定位到目标服务名称后,会对应得到目标服务名称关联的其他维度信息,如服务器IP地址、Session ID等,进而得到了ZooKeeper集群信息查询结果。
ZooKeeper集群信息查询请求中也可以包含其他维度的查询条件,如SessionID,在ZooKeeper集群数据表中可以查询到该Session ID关联的其他维度信息,如服务名称、服务器IP地址等等。当然,对于其他维度信息的查询,也与上述实施例同理,在此不一一例举。
上述过程仅需用户触发一次ZooKeeper集群信息查询请求,就可以得到与ZooKeeper集群信息查询请求相对应的全面的ZooKeeper集群信息,简化了查询过程,大大提高了查询效率,且无需用户手动对查询结果进行筛选分析。
在本申请的一个实施例中,所述方法还包括:提供前端页面;将所述ZooKeeper集群信息查询结果在所述前端页面上以树形图的形式进行展示;所述接收ZooKeeper集群信息查询请求包括:通过所述前端页面接收所述ZooKeeper集群信息查询请求。
本申请实施例部署在ZooKeeper集群控服务器上的ZooKeeper集群控制系统还可以提供前端页面,前端页面一方面可以用来接收用户的ZooKeeper集群信息查询请求,另一方面可以对ZooKeeper集群信息查询结果进行展示。
例如,在接收ZooKeeper集群信息查询请求前,可以在前端页面上可以设置有供用户输入查询条件的搜索框,或者也可以提供查询列表供用户点击查询。
在得到ZooKeeper集群信息查询请求后,根据ZooKeeper集群信息查询请求在ZooKeeper集群数据表中进行查询,然后将ZooKeeper集群信息查询结果在前端页面上以树形图的形式进行展示,这里的展示方式可以基于B/S(Browser/Server,浏览器/服务器模式)架构来实现。
如图4所示,提供了一种ZooKeeper集群的查询列表示例图,该查询列表下包含多级节点,其中包括ZooKeeper根节点,ZooKeeper根节点下设置有一级节点1、一级节点2、一级节点3和一级节点4等多个一级节点,每个一级节点下还包括多个二级节点,如一级节点2下包含二级节点2-1和二级节点2-2等。
在进行查询时,用户可以通过图4中的前端页面左侧提供的查询列表,点击查询列表中想要查询的服务名称,如ZooKeeper根节点/一级节点2/二级节点2-1,进而可以得到该节点关联的其他维度的ZooKeeper集群信息,包括基本信息和监控列表信息,基础信息可以包括当前路径、数据长度、子节点数量等信息,监控列表信息可以包括服务器IP地址信息、收包数、发包数、最大延时等信息。如图5所示,提供了一种ZooKeeper集群信息查询结果的树形图,通过树形图的展示,可以让用户直观、全面地了解到ZooKeeper集群中目标服务器的运行信息和状态信息,以及时发现该节点是否异常,便于后续及时进行运维处理。当然,树形图中具体展示哪些维度的信息,本领域技术人员可根据实际需求灵活配置,在此不一一例举。
在本申请的一个实施例中,所述方法还包括:按照预设更新频率对所述ZooKeeper集群数据表进行更新。
由于ZooKeeper集群数据表中关联的信息可能是动态变化的,如某个客户端与某个服务端的连接情况由连接状态变为断开连接状态,或者又重新连接等,因此本申请实施例可以按照一定更新频率对ZooKeeper集群数据表进行更新,这里的更新可以理解为是按照上述实施例重新获取集群信息并重新进行整合处理,以此得到更新后的ZooKeeper集群数据表,也可以是直接更新集群数据表中发生变化的信息。预设更新频率例如可以是每十分钟更新一次,当然,本领域技术人员也可根据实际情况灵活设置上述预设更新频率,在此不作具体限定。
如图6所示,提供了本申请实施例一种ZooKeeper集群运维流程示意图。首先利用ZooKeeper四字命令与ZooKeeper集群中各服务端进行通信,得到各服务端返回的信息,作为ZooKeeper集群信息,然后将ZooKeeper集群信息存储到预设数据库中,每个服务端返回的信息会对应一张数据表,之后在预设数据库中,对多张数据表进行整合处理,得到一张ZooKeeper集群数据表,作为后续集群信息查询的基础。
之后通过前端页面接收ZooKeeper集群信息查询请求,根据ZooKeeper集群信息查询请求在上述ZooKeeper集群数据表中进行查询,得到ZooKeeper集群信息查询结果,最后将该ZooKeeper集群信息查询结果在前端页面上进行展示,以使用户能够直观地了解到目标服务端的运行信息和状态信息等,及时发现ZooKeeper集群的异常情况,进而及时采取运维措施进行处理。
本申请实施例还提供了一种ZooKeeper集群运维装置700,应用于ZooKeeper集群控制服务器,如图7所示,所述装置700包括:整合处理单元710、查询请求接收单元720和查询单元730。
整合处理单元710,用于对ZooKeeper集群的集群信息进行整合处理,得到ZooKeeper集群数据表;
查询请求接收单元720,用于接收ZooKeeper集群信息查询请求;
查询单元730,用于根据所述ZooKeeper集群信息查询请求,在所述ZooKeeper集群数据表中进行查询,得到ZooKeeper集群信息查询结果,以使运维终端能够根据所述ZooKeeper集群信息查询结果对所述ZooKeeper集群进行运维。
在本申请的一个实施例中,所述整合处理单元710具体用于:获取所述ZooKeeper集群的集群信息,并存储在预设数据库中;根据所述集群信息的维度,对所述预设数据库中存储的集群信息进行整合处理,得到所述ZooKeeper集群数据表。
在本申请的一个实施例中,所述整合处理单元710具体用于:利用ZooKeeper四字命令,与ZooKeeper集群所在的多个服务端进行通信,得到各服务端返回的信息,并将各服务端返回的信息作为所述ZooKeeper集群的集群信息。
在本申请的一个实施例中,所述集群信息的维度包括ZooKeeper集群的运行状态、ZooKeeper集群的各服务端的连接情况、服务端IP地址、服务名称和会话ID中的一种或多种。
在本申请的一个实施例中,所述整合处理单元710具体用于:根据所述集群信息中的会话ID,将所述集群信息的各维度进行关联,得到所述ZooKeeper集群数据表。
在本申请的一个实施例中,所述ZooKeeper集群信息查询请求包括目标服务名称,所述查询单元730具体用于:根据所述目标服务名称,在所述ZooKeeper集群数据表中查询与所述目标服务名称对应的目标关联信息,并将所述目标关联信息作为所述集群信息查询结果。
在本申请的一个实施例中,所述装置还包括:前端页面提供单元,用于提供前端页面;展示单元,用于将所述ZooKeeper集群信息查询结果在所述前端页面上以树形图的形式进行展示;所述查询请求接收单元具体用于:通过所述前端页面接收所述ZooKeeper集群信息查询请求。
在本申请的一个实施例中,所述装置还包括:更新单元,用于按照预设更新频率对所述ZooKeeper集群数据表进行更新。
能够理解,上述ZooKeeper集群运维装置,能够实现前述实施例中提供的由ZooKeeper集群控制服务器执行的ZooKeeper集群运维方法的各个步骤,关于ZooKeeper集群运维方法的相关阐释均适用于ZooKeeper集群运维装置,此处不再赘述。
本申请实施例还提供了一种ZooKeeper集群运维服务器,包括上述ZooKeeper集群运维装置。
图8是本申请的一个实施例电子设备的结构示意图。请参考图8,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry Standard Architecture,工业标准体系结构)总线、PCI(PeripheralComponent Interconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成ZooKeeper集群运维装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
对ZooKeeper集群的集群信息进行整合处理,得到ZooKeeper集群数据表;
接收ZooKeeper集群信息查询请求;
根据所述ZooKeeper集群信息查询请求,在所述ZooKeeper集群数据表中进行查询,得到ZooKeeper集群信息查询结果,以使运维终端能够根据所述ZooKeeper集群信息查询结果对所述ZooKeeper集群进行运维。
上述如本申请图7所示实施例揭示的ZooKeeper集群运维装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图7中ZooKeeper集群运维装置执行的方法,并实现ZooKeeper集群运维装置在图7所示实施例的功能,本申请实施例在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图7所示实施例中ZooKeeper集群运维装置执行的方法,并具体用于执行:
对ZooKeeper集群的集群信息进行整合处理,得到ZooKeeper集群数据表;
接收ZooKeeper集群信息查询请求;
根据所述ZooKeeper集群信息查询请求,在所述ZooKeeper集群数据表中进行查询,得到ZooKeeper集群信息查询结果,以使运维终端能够根据所述ZooKeeper集群信息查询结果对所述ZooKeeper集群进行运维。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (11)

1.一种ZooKeeper集群运维方法,由ZooKeeper集群控制服务器执行,其中,所述方法包括:
对ZooKeeper集群的集群信息进行整合处理,得到ZooKeeper集群数据表;
接收ZooKeeper集群信息查询请求;
根据所述ZooKeeper集群信息查询请求,在所述ZooKeeper集群数据表中进行查询,得到ZooKeeper集群信息查询结果,以使运维终端能够根据所述ZooKeeper集群信息查询结果对所述ZooKeeper集群进行运维;
所述ZooKeeper集群的集群信息包括ZooKeeper集群中所有节点的运行信息和状态信息;
所述ZooKeeper集群的集群信息是利用ZooKeeper四字命令获取到的;
所述ZooKeeper集群信息查询请求包括目标服务名称,所述根据所述ZooKeeper集群信息查询请求,在所述ZooKeeper集群数据表中进行查询,得到ZooKeeper集群信息查询结果包括:
根据所述目标服务名称,在所述ZooKeeper集群数据表中查询与所述目标服务名称对应的目标关联信息,并将所述目标关联信息作为所述集群信息查询结果。
2.如权利要求1所述方法,其中,所述对ZooKeeper集群的集群信息进行整合处理,得到ZooKeeper集群数据表包括:
获取所述ZooKeeper集群的集群信息,并存储在预设数据库中;
根据所述集群信息的维度,对所述预设数据库中存储的集群信息进行整合处理,得到所述ZooKeeper集群数据表。
3.如权利要求2所述方法,其中,所述获取所述ZooKeeper集群的集群信息包括:
利用ZooKeeper四字命令,与ZooKeeper集群所在的多个服务端进行通信,得到各服务端返回的信息,并将各服务端返回的信息作为所述ZooKeeper集群的集群信息。
4.如权利要求2所述方法,其中,所述集群信息的维度包括ZooKeeper集群的运行状态、ZooKeeper集群的各服务端的连接情况、服务端IP地址、服务名称和会话ID中的一种或多种。
5.如权利要求4所述方法,其中,所述根据所述集群信息的维度,对所述预设数据库中存储的集群信息进行整合处理,得到所述ZooKeeper集群数据表包括:
根据所述集群信息中的会话ID,将所述集群信息的各维度进行关联,得到所述ZooKeeper集群数据表。
6.如权利要求1所述方法,其中,所述方法还包括:
提供前端页面;
将所述ZooKeeper集群信息查询结果在所述前端页面上以树形图的形式进行展示;
所述接收ZooKeeper集群信息查询请求包括:
通过所述前端页面接收所述ZooKeeper集群信息查询请求。
7.如权利要求1所述方法,其中,所述方法还包括:
按照预设更新频率对所述ZooKeeper集群数据表进行更新。
8.一种ZooKeeper集群运维装置,应用于ZooKeeper集群控制服务器,其中,所述装置用于实现权利要求1~7之任一所述方法。
9.一种ZooKeeper集群运维服务器,包括如权利要求8所述装置。
10.一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行所述权利要求1~7之任一所述方法。
11.一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行所述权利要求1~7之任一所述方法。
CN202011549673.4A 2020-12-24 2020-12-24 一种ZooKeeper集群运维方法、装置及电子设备、存储介质 Active CN114745376B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011549673.4A CN114745376B (zh) 2020-12-24 2020-12-24 一种ZooKeeper集群运维方法、装置及电子设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011549673.4A CN114745376B (zh) 2020-12-24 2020-12-24 一种ZooKeeper集群运维方法、装置及电子设备、存储介质

Publications (2)

Publication Number Publication Date
CN114745376A CN114745376A (zh) 2022-07-12
CN114745376B true CN114745376B (zh) 2023-12-15

Family

ID=82273904

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011549673.4A Active CN114745376B (zh) 2020-12-24 2020-12-24 一种ZooKeeper集群运维方法、装置及电子设备、存储介质

Country Status (1)

Country Link
CN (1) CN114745376B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016127756A1 (zh) * 2015-02-15 2016-08-18 北京京东尚科信息技术有限公司 集群弹性部署的方法和管理系统
CN107368583A (zh) * 2017-07-21 2017-11-21 郑州云海信息技术有限公司 一种多集群信息查询的方法及系统
CN207543147U (zh) * 2017-12-14 2018-06-26 北京科东电力控制系统有限责任公司 一种客服中心的微服务调控系统
CN108989399A (zh) * 2018-06-28 2018-12-11 郑州云海信息技术有限公司 一种集群公共数据查询方法、系统、装置及可读存储介质
CN111367998A (zh) * 2020-03-04 2020-07-03 安超云软件有限公司 基于Galera的数据库集群恢复方法及终端设备
CN112084195A (zh) * 2020-09-09 2020-12-15 国网安徽省电力有限公司池州供电公司 互联网中大规模光配集群通信拓扑的智能化管理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016127756A1 (zh) * 2015-02-15 2016-08-18 北京京东尚科信息技术有限公司 集群弹性部署的方法和管理系统
CN107368583A (zh) * 2017-07-21 2017-11-21 郑州云海信息技术有限公司 一种多集群信息查询的方法及系统
CN207543147U (zh) * 2017-12-14 2018-06-26 北京科东电力控制系统有限责任公司 一种客服中心的微服务调控系统
CN108989399A (zh) * 2018-06-28 2018-12-11 郑州云海信息技术有限公司 一种集群公共数据查询方法、系统、装置及可读存储介质
CN111367998A (zh) * 2020-03-04 2020-07-03 安超云软件有限公司 基于Galera的数据库集群恢复方法及终端设备
CN112084195A (zh) * 2020-09-09 2020-12-15 国网安徽省电力有限公司池州供电公司 互联网中大规模光配集群通信拓扑的智能化管理方法

Also Published As

Publication number Publication date
CN114745376A (zh) 2022-07-12

Similar Documents

Publication Publication Date Title
US11379482B2 (en) Methods, systems, and computer readable mediums for performing an aggregated free-form query
CN103685590B (zh) 获取ip地址的方法及系统
US7904588B2 (en) Method and system for creating an overlay structure for management information bases
CN111786984B (zh) Pod通信连接方法、装置及电子设备、存储介质
WO2020173080A1 (zh) 调用链信息查询方法以及设备
US10382387B2 (en) OID configuration, resolution method, client, node, database and storage medium
CN110413845B (zh) 基于物联网操作系统的资源存储方法及装置
US11303583B2 (en) Resource trees by management controller
CN109151025B (zh) 基于url的负载均衡方法、装置、计算机存储介质及设备
CN107273504A (zh) 一种基于Kudu的数据查询方法和装置
US8489631B2 (en) Distributing a query
CN108154024B (zh) 一种数据检索方法、装置及电子设备
US11507591B2 (en) Methods, systems, and computer readable mediums for command engine execution
CN113268502A (zh) 一种用于提供信息的方法与设备
CN113315852B (zh) 一种域名解析的方法、装置及系统
CN109117152B (zh) 服务生成系统及方法
CN112052267B (zh) 一种数据查询方法、设备、服务器及存储介质
CN110955460B (zh) 一种服务进程启动方法、装置、电子设备和存储介质
CN114071448B (zh) 一种数据传输方法、相关网络节点和存储介质
CN114745376B (zh) 一种ZooKeeper集群运维方法、装置及电子设备、存储介质
CN116170352A (zh) 网络流量的处理方法、装置、电子设备及存储介质
CN112131263B (zh) 软件包获取方法、系统、装置、电子设备和存储介质
CN111221847B (zh) 监控数据存储方法、装置及计算机可读存储介质
CN114745249B (zh) 一种生成管理信息库的方法及电子设备
CN113114612A (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