Kafka使用最佳实践-Kafka生产问题分析思路与解决方案

网友投稿 660 2022-05-28

一、生产问题分析思路

二、数据无法正常写入,使用客户端无法正常生产数据

首先使用生产命令进行生产测试。

看是否是C80版本,确认是否有打入kafka死锁补丁,如果没有请打入。

Kafka的服务端节点是否开启了DNS,如果开启请参照《kafka启动候不定时出现"恢复中"状态》解决。

根据章节查看topic是否正常(2.2章节),如果不正常优先恢复topic,参考维护宝典Topic操作常见故障章节排查处理。

如果是21005生产,查看前台“everyone.if.no.acl.found”是否设置为true,并且是否添加了acl权限,如果是需要删除acl权限。参考4.2.3章节和维护宝典《Producer发送数据失败,抛出TOPIC_AUTHORIZATION_FAILED》解决。

如果使用了21009端口,需要查看是否开启mode.enable=true。

去每个节点执行df –h查看磁盘是否有写满的情况。如果磁盘写满参考《kafka磁盘写满后恢复策略》

查看报错中是否有指定那个节点哪个磁盘报错,如果有,去指定节点上执行touch filename 的命令看是否出现了磁盘只读的现象。

去每个kafka节点下,切换到omm用户,使用id –Gn kafka查看是否有异常,如果有请按照维护宝典“id -Gn查询不到用户,导致任务无法提交”章节解决。

其他问题:参照维护宝典“消息生产常见故障”排查。

三、集群内客户端可以正常生产消费,集群外客户端无法正常使用

检查网络环境是否正常。

使用ping命令查看是否有网络丢包

使用scp从客户端传输一个大文件到kafka服务侧节点,查看传输速率。

检查/etc/hosts里面是否配置kafka集群的IP列表。

检查DNS是否开启,cat /etc/resolv.conf 是否有值,或者在etc/hosts里面是否添加了不可达参数。例如:

hadoop.com

查看客户端配置是否配置有异常。这里要特别注意配置domain.name,如果FI集群修改过域名(默认域名为hadoop.hadoop.com,如果修改,该配置必须在生产者配置中添加)。

查看集群acl列表,确认节点是否被禁用或者限流。方法见1.8章节《查看集群中所有的acl权限信息》。

其他问题:参照维护宝典“消息生产常见故障”排查。

四、 集群外客户端可以使用,但是开发的代码无法正常写入

检查生产端的配置是否有误。例如:所配置的IP是否为kafka的业务IP。

检查客户端使用的kafka版本是否有误,高版本的客户端向低版本的服务端写数据可能存在兼容性的问题。

使用安全模式生产消费时候,是否使用了正确的keytab。

使用安全模式并且everyone.if.no.acl.found为false 需要查看用户是否有权限访问。参考4.1.8章节。

Kafka使用最佳实践-Kafka生产问题分析思路与解决方案

如果使用的是C++客户端,需要注意5.1版本需要使用4.0.3或以上版本,否则会有兼容性问题。

其他问题:参照维护宝典“消息生产常见故障”排查。

五、写入正常,但是写入性能有积压或者一段时间后会报错中断

首先排查是否存在性能瓶颈;再排查写入请求总耗时及各阶段耗时,排查耗时长的阶段的具体原因。

查看生产的客户端版本是否跟服务端版本匹配。如果客户使用的客户端jar为非FI提供的jar包版本。

排查是否存在过大数据,kafka通常建议的数据大小在15k左右,如果出现过大数据可能会导致写入性能差。

EI企业智能 FusionInsight Kafka

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Linux开发_ Linux命令复习与文件目录复习
下一篇:牛客网华为云服务器活动
相关文章