记录一个kafka发送消息后无法接收消息问题

本文记录了一个在Kafka中遇到的问题,即发送消息后无法接收。通过检查ConsumerOffsetChecker,发现存在堆积消息。问题在于设置的partition为0,导致同一组内只有一个consumer能消费。解决方法包括增加partition数量或修改consumer配置。此外,还提供了删除和创建topic,以及手动消费和生产消息的命令示例。

记录一个kafka发送消息后无法接收消息问题
检查kafka堆积等数
./kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper localhost:2181 --group UAT_FRONT_DATA_HBASE_SAVE_CONSUMER_GROUP --topic uat-das-front-stat-topic

在这里插入图片描述
手动消费发现堆积仍在继续

Pid Offset 为Prtition 分区
logZize 为已经消费的数,总数
Lag 为堆积数
最后为消费者信息
在这里插入图片描述
检查后发现因设置partition为0
partition 0表示这个topic只有一个分区,只能被同一个组中的一个consumer消费且消费者不是他自己导致自己无法接收到消息。

解决方法:1、可添加partition分区
2、修改消费者

删除kafkatopic
首先需要执行delete后标记

./kafka-topics.sh –-zookeeper 127.0.0.1:2181 –list
./kafka-topics.sh –delete –-zookeeper ip:2181 –topic topicname
在这里插入图片描述
添加标签后根据server.properties文件中的log.dirs配置删除topic储存目录
进入zk客户端执行

./zkCli.sh
ls /brokers/topics/topicname
rmr /admin/delete_topics/topicname

注意这里有可能删除不掉,因客户端服务在持续连接该topic会导致删除不掉.
创建topic
./kafka-topics.sh –create –topic topicname –zookeeper ip:2181 –partitions 6 –replication-factor 2

例如:
./kafka-topics.sh --create --topic lichen_tes --zookeeper 10.78.104.1:2181,10.78.104.2:2181,10.78.104.3:2181 --partitions 1 --replication-factor 2

修改topic中partition
./kafka-topics.sh –alter –zookeeper ip:2181 –partitions 8 –topic topicname

检查kafka堆积等数
例如:
./kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper localhost:2181 --group UAT_FRONT_DATA_HBASE_SAVE_CONSUMER_GROUP --topic uat-das-front-stat-topic

手动测试消费
例如:
./kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic uat-das-front-stat-topic --property group.id=UAT_FRONT_DATA_HBASE_SAVE_CONSUMER_GROUP

生产者测试发送消息
例如:
./kafka-console-producer.sh --broker-list 10.78.104.1:9092 --topic lichen1
在这里插入图片描述

消费者消费
例如:
./kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic lichen1
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值