我是Kafka的新手,几天前从制作人创建了几个主题(自动),即分区1,反射事实-1和ISR -1。 它工作正常,用于消费所有主题消息。
今天,也就是两天后,我运行了我的制作人和消费者计划,反之亦然,但我的消费者无法使用/阅读该主题的消息。 我检查了所有日志,没有找到出错的线索。
出了什么问题? 一段时间后主题会变得陈旧吗? 我需要在kafka-server属性中检查任何属性值吗?
请帮帮我。
谢谢。 〜希亚姆
答案 0 :(得分:1)
有几种方法可以使用提供的各种工具检查kafka群集的运行状况。
使用提供的ConsumerOffsetChecker类来验证生产者和消费者之间是否存在任何延迟。
bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zkconnect <zk host/ip>:<zk port> --group <consumer group name>
使用下面的JMX指标来验证消息是否是在群集级别生成的,还有其他指标。
kafka.server:type=BrokerTopicMetrics,name=MessagesInPerSec
kafka.network:type=RequestMetrics,name=RequestsPerSec,request={Produce|FetchConsumer|FetchFollower}
使用控制台消费者来验证消息是否出现在主题
上bin/kafka-console-consumer.sh --zookeeper <zk host/ip>:<zk port> --topic test --from-beginning
验证kafka配置中的log.retention.XXX值(server.properties文件)
最后一点有点复杂,但我会尝试。查看blog link on confluent.io,它讨论了生产者在将消息发送到代理之前缓冲消息的更多分区可能需要在客户端中更多内存。不确定您的问题是否相关。