一种检测Kafka集群中Leader进程的可用状态方法及装置制造方法及图纸

技术编号:26597010 阅读:15 留言:0更新日期:2020-12-04 21:18
本发明专利技术公开了一种检测Kafka集群中Leader进程的可用状态方法及装置,涉及数据处理技术领域,为解决现有技术中Kafka集群本身无法检测因数据磁盘问题引起的功能不可用的问题而发明专利技术。主要方法包括:根据预置检测方法,监控数据磁盘的读写状态;如果所述读写状态异常,则查找Kafka集群日志中是否包括第一预置异常状态信息;如果查找结果为否,则暂停正在运行的Leader进程,导入并执行磁盘测试程序,并捕获第二预置异常状态信息;如果查找结果为是,或者捕获所述第二预置异常状态信息,则生成所述Leader进程的不可用状态告警信息,以便于运维人员对所述Kafka集群进行维护。本发明专利技术主要应用于运行Kafka集群的过程中。

【技术实现步骤摘要】
一种检测Kafka集群中Leader进程的可用状态方法及装置
本专利技术涉及数据处理
,特别是涉及一种检测Kafka集群中Leader进程的可用状态方法及装置。
技术介绍
Kafka集群是由Apache软件基金会开发的开源流处理平台,即是高吞吐量的分布式发布订阅消息系统,通过Hadoop的并行加载机制统一线上和离线的消息处理,处理用户在网站中的网页浏览、搜索和访问等所有动作的数据消息。Leader是Kafka集群中一台服务器上运行的进程,负责读写数据。如果Leader进程出现宕机情况,Kafka则通过Zookeeper进程自动选举出新的Leader进程。如果Leader进程显示状态正常,可以正常的写入和读取数据,则说明Leader进程处于可用状态,如果Leader进程显示进程正常运行,却不能写入和读取数据,则说明Leader进程处于不可用状态。如果Leader进程显示状态正常,没有出现宕机情况,只是存储数据的数据磁盘出现问题,而Kafka集群本身无法检测因数据磁盘问题引起的功能不可用,使得Kafka集群无法正常提供服务。
技术实现思路
有鉴于此,本专利技术提供一种检测Kafka集群中Leader进程的可用状态方法及装置,主要目的在于解决现有技术中Kafka集群本身无法检测因数据磁盘问题引起的功能不可用的问题。依据本专利技术一个方面,提供了一种检测Kafka集群中Leader进程的可用状态方法,包括:根据预置检测方法,监控数据磁盘的读写状态;如果所述读写状态异常,则查找Kafka集群日志中是否包括第一预置异常状态信息;如果查找结果为否,则暂停正在运行的Leader进程,导入并执行磁盘测试程序,并捕获第二预置异常状态信息;如果查找结果为是,或者捕获所述第二预置异常状态信息,则生成所述Leader进程的不可用状态告警信息,以便于运维人员对所述Kafka集群进行维护。依据本专利技术另一个方面,提供了一种检测Kafka集群中Leader进程的可用状态装置,包括:监控模块,用于根据预置检测装置,监控数据磁盘的读写状态;查找模块,用于如果所述读写状态异常,则查找Kafka集群日志中是否包括第一预置异常状态信息;捕获模块,用于如果查找结果为否,则暂停正在运行的Leader进程,导入并执行磁盘测试程序,并捕获第二预置异常状态信息;生成模块,用于如果查找结果为是,或者捕获所述第二预置异常状态信息,则生成所述Leader进程的不可用状态告警信息,以便于运维人员对所述Kafka集群进行维护。根据本专利技术的又一方面,提供了一种计算机存储介质,所述计算机存储介质中存储有至少一种可执行指令,所述可执行指令使处理器执行如上述检测Kafka集群中Leader进程的可用状态方法对应的操作。根据本专利技术的再一方面,提供了一种计算机设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一种可执行指令,所述可执行指令使所述处理器执行上述检测Kafka集群中Leader进程的可用状态方法对应的操作。借由上述技术方案,本专利技术实施例提供的技术方案至少具有下列优点:本专利技术提供了一种检测Kafka集群中Leader进程的可用状态方法及装置,首先根据预置检测方法,监控数据磁盘的读写状态,如果读写状态异常,则查找Kafka集群日志中是否包括第一预置异常状态信息,如果查找结果为否,则暂停正在运行的Leader进程,导入并执行磁盘测试程序,并捕获第二预置异常状态信息,如果查找结果为是,或者捕获第二预置异常状态信息,则生成Leader进程的不可用状态告警信息,以便于运维人员对Kafka集群进行维护。与现有技术相比,本专利技术实施例通过独立运行的Kafka集群插入检测Kafka集群中Leader进程的可用状态的方法,在不影响现有Kafka集群运行的前提下,如果Leader进程处于不可用状态,可以通过查找Kafka集群日志中的异常状态信息,或者在磁盘测试程序运行是捕获异常状态信息,进而确定提前发现Leader进程的不可用状态,以使得运维人员可以尽早开始维护Kafka集群,保障Kafka集群的正常运行。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了本专利技术实施例提供的一种检测Kafka集群中Leader进程的可用状态方法流程图;图2示出了本专利技术实施例提供的另一种检测Kafka集群中Leader进程的可用状态方法流程图;图3示出了本专利技术实施例提供的一种检测Kafka集群中Leader进程的可用状态装置组成框图;图4示出了本专利技术实施例提供的另一种检测Kafka集群中Leader进程的可用状态装置组成框图;图5示出了本专利技术实施例提供的一种计算机设备的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。在Kafka集群的运行机制中没有对磁盘功能的验证,并且内部的组件相对固定,修改固定组件而达到检测可用状态的目的比较繁琐,不利于方案的推广与实施。故而,本专利技术实施例提供了一种检测Kafka集群中Leader进程的可用状态方法,如图1所示,该方法包括:101、根据预置检测方法,监控数据磁盘的读写状态。数据磁盘用于存储Kafka集群在运行过程中所需的存储空间。只有在磁盘能够正常运行的前提下,Kafka集群才能正常运行。监控数据磁盘也就是监控数据磁盘的读写状态。在监控过程中可采用的预置检测方法包括:hdparm命令、dd命令或zabbix监控。102、如果读写状态异常,则查找Kafka集群日志中是否包括第一预置异常状态信息。读写状态异常是指数据磁盘不能进行读操作、写操作或者读写的速度较慢。一旦监控到磁盘的读写状态异常,则获取Kafka集群的日志,并查找Kafka集群日志在是否包括第一预置异常状态信息。第一预置异常信息可以为kafka.common.NotLeaderForPartitionException。103、如果查找结果为否,则暂停正在运行的Leader进程,导入并执行磁盘测试程序,并捕获第二预置异常状态信息。磁盘测试程序,可以是向磁盘写入一条测试数据,也可以是从磁盘读本文档来自技高网...

【技术保护点】
1.一种检测Kafka集群中Leader进程的可用状态方法,其特征在于,包括:/n根据预置检测方法,监控数据磁盘的读写状态;/n如果所述读写状态异常,则查找Kafka集群日志中是否包括第一预置异常状态信息;/n如果查找结果为否,则暂停正在运行的Leader进程,导入并执行磁盘测试程序,并捕获第二预置异常状态信息;/n如果查找结果为是,或者捕获所述第二预置异常状态信息,则生成所述Leader进程的不可用状态告警信息,以便于运维人员对所述Kafka集群进行维护。/n

【技术特征摘要】
1.一种检测Kafka集群中Leader进程的可用状态方法,其特征在于,包括:
根据预置检测方法,监控数据磁盘的读写状态;
如果所述读写状态异常,则查找Kafka集群日志中是否包括第一预置异常状态信息;
如果查找结果为否,则暂停正在运行的Leader进程,导入并执行磁盘测试程序,并捕获第二预置异常状态信息;
如果查找结果为是,或者捕获所述第二预置异常状态信息,则生成所述Leader进程的不可用状态告警信息,以便于运维人员对所述Kafka集群进行维护。


2.根据权利要求1所述的方法,其特征在于,所述根据预置检测方法,监控数据磁盘的读写状态,包括:
加载磁盘监控的配置文件;
根据预置监控参数,配置所述读写状态的监控项,所述监控项包括读操作耗时、写操作耗时和I/O操作耗时;
根据所述监控参数和所述配置文件,监控所述数据磁盘的磁盘地址。


3.根据权利要求1所述的方法,其特征在于,所述查找Kafka集群日志中是否包括第一预置异常状态信息,包括:
根据预置日志存储路径,获取Kafka集群日志中的文本信息,所述Kafka集群日志是指根据预置存储空间或者预置时间间隔动态更新的部分集群日志;
通过文本编辑器vim,查找所述文本信息中是否包括所述第一预置异常状态信息。


4.根据权利要求1所述的方法,其特征在于,所述查找Kafka集群日志中是否包括第一预置异常状态信息,包括:
通过轻量型日志采集器filebeat获取所述Kafka集群日志;
根据搜索服务器elasticsearch查找所述Kafka集群日志中是否包括所述第一预置异常状态信息。


5.根据权利要求1所述的方法,其特征在于,所述生成所述Leader进程的不可用状态告警信息之后,所述方法还包括:
将所述不可用状态告警信息,发送至所述Leader进程的运行状态显示终端;和/或,
将所述不可用状态告警信息,发送至手持终端通信地址,所述手持终端通信地址包括邮箱、微信账号和QQ账号。


6.一种检测Kafka集群中Leader进程的可用状态装...

【专利技术属性】
技术研发人员:陈铠
申请(专利权)人:大箴杭州科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1