使用kafka-console-consumer.sh不停报WARN的问题及解决
kafka-console-consumer.sh不停报WARN的解决
首先确认你的服务器你所需要的所有端口都打开了!
./kafka-console-consumer.sh --bootstrap-server 宿主机IP:9092 --topic 主题名 --from-beginning
端口都打开的情况使用以上命令还继续各种报WARN请检查kafka相关配置
listeners=PLAINTEXT://*********:9092
以上*处配置IP应为宿主机IP地址一致
./kafka-console-consumer.sh --bootstrap-server *********:9092 --topic 主题名 --from-beginning
问题得到解决
我是这个原因,可以从报错信息中得知解析地址中的broker失败了修改为宿主机IP得到解决
WARN [Consumer clientId=consumer-console-consumer-21595-1, groupId=console-consumer-21595] Connection to node -1 (localhost/127.0.0.1:9092) could not be established. Broker may not be available. (org.apache.kafka.clients.NetworkClient)
使用Kafka的kafka-console-consumer.sh不能消费消息
使用Ambari搭建的kafka集群,在使用kafka-console-producer.sh的时候,指定--broker-list的值需要从server.properties中查看listeners=PLAINTEXT://的值。
同理,使用kafka-console-consumer.sh的时候,指定--bootstrap-server也需要从server.properties中查看listeners=PLAINTEXT://的值。
所以,以上已经是确保了配置没有问题的情况下,出现了kafka使用kafka-console-consumer.sh没有消费消息。
问题
使用kafka-console-consumer.sh没有消费消息
解决
(1)在无意中查看了kafka的server.log日志,发现一直在报如下错误
ERROR [KafkaApi-1001] Number of alive brokers '2' does not meet the required replication factor '3' for the offsets topic (configured via 'offsets.topic.replication.factor'). This error can be ignored if the cluster is starting up and not all brokers are up yet. (kafka.server.KafkaApis)
(2)分析了下局面意思,大概就是broker的数量为2,但是server.properties配置的offsets.topic.replication.factor的值为3。
看到这里我大概有两个解决方案
一、添加broker的数目
二、修改server.properties中offsets.topic.replication.factor的值,改成2【Ambari中该值在kafka-broker中修改】
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
JAVA帮助文档全系列 JDK1.5 JDK1.6 JDK1.7 官方中英完整版整理
JDK(Java Development Kit,Java开发包,Java开发工具)是一个写Java的applet和应用程序的程序开发环境。它由一个处于操作系统层之上的运行环境还有开发者编译,调试和运行用Java语言写的applet和应用程序所需的工具组成2014-01-01
SpringBoot ThreadLocal实现公共字段自动填充案例讲解
每一次在Controller层中封装改动数据的方法时都要重新设置一些共性字段,显得十分冗余。为了解决此问题也是在项目中第一次利用到线程,总的来说还是让我眼前一亮,也开阔了视野,对以后的开发具有深远的意义2022-10-10
SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结
本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLocal保存请求中携带的用户信息,ThreadLocal通过为每个线程维护独立的变量副本,解决了线程安全问题,感兴趣的朋友一起看看吧2025-02-02
java多线程开发ScheduledExecutorService简化方式
这篇文章主要为大家介绍了java多线程开发ScheduledExecutorService的简化方式,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步2022-03-03


最新评论