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

记录一个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
在这里插入图片描述