赞
踩
确认了消费Kafka的服务器参数(setBootstrapServers),和消费主题(setTopics)无误后
确认了zookeeper和kafka已经开启
启动zookeeper命令:
zookeeper安装路径/bin/zkServer.sh start
启动Kafka命令(以我的Kafka安装地址为例):
nohup /export/server/kafka/bin/kafka-server-start.sh /export/server/kafka/config/server.properties >> /export/server/kafka/kafka-server.log 2>&1 &
语法格式:
nohup kafka-server-start.sh 配置文件在哪 >> 日志文件 &
kafka-server-start.sh kafka的启动脚本
/export/server/kafka/config/server.properties kafka 的配置文件
/export/server/kafka/kafka-server.log 2>&1 kafka的日志写到哪里
等待一段时间后,最后一行具体报错如下
也是百思不得其解,因为报错原因太过广泛,想要查看具体的报错原因,于是在pom文件下添加下面的依赖项
代码片段取自:https://blog.csdn.net/heiren_a/article/details/123679436
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <version>1.7.7</version>
- </dependency>
- <dependency>
- <groupId>log4j</groupId>
- <artifactId>log4j</artifactId>
- <version>1.2.17</version>
- </dependency>
src/main/resources文件夹下创建一个名为log4j.properties的文件,在这个文件下面添加以下内容。
- log4j.rootLogger=info,console
- log4j.appender.console=org.apache.log4j.ConsoleAppender
- log4j.appender.console.Threshold=INFO
- log4j.appender.console.ImmediateFlush=true
- log4j.appender.console.Target=System.out
- log4j.appender.console.layout=org.apache.log4j.PatternLayout
- log4j.appender.console.layout.ConversionPattern=[%-5p] %d(%r) --> [%t] %l: %m %x %n
这时候我们重新运行代码
可以看到主要的报错是无法连接上虚拟机。经过查阅相关资料得知本质原因是kafka配置文件server.properites中默认监听hostname
原文资料:https://blog.csdn.net/qq_34484062/article/details/129991949
我的解决方法:
到kafka安装路径下的config/server.properties
vim server.properties
将他修改为虚拟机的本机地址:9092,具体如图所示(node2,node3一样如此),保存退出,并且重新启动Kafka
Kafka生成生产者,并启动IDEA代码
问题解决可以正常消费。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。