关于kafka配置过程中遇到的问题盘点


最近项目中需要用到kafka,于是花时间学习了一下,在配置本地kafka的过程中遇到了一些问题,现在记录一下这些问题的解决办法。

kafka的安装配置

我安装的kafka版本是kafka_2.13-3.9.0,这一版的kafka是自带zookeeper的,不需要额外安装zookeeper。我参照的是这篇博文介绍的安装配置方法。
需要注意的是,在这篇博文的第三部分:启动kafka中, 作者介绍的启动代码是:

cd进入kafka安装目录
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties  # -daemon 为后台启动

在我的电脑上,使用这种方法是启动不了zookeeper和kafka的,我使用的方法是:

cd进入kafka安装目录
bin\windows\zookeeper-server-start.bat config\zookeeper.properties

bin\windows\kafka-server-start.bat config\server.properties

启动zookeeper提示:ZooKeeper audit is disabled

按照网上介绍的说法,我在kafka安装路径的config文件夹下的zookeeper.properties文件中加了这么一句代码:

# audit.enable=true  # 解决 ZooKeeper audit is disabled 的问题

但是重新运行后还是报错:
在这里插入图片描述
后来发现,我在添加audit.enable=true时,为了方便后面回顾,所以添加了注释,但是这个注释貌似不能跟代码处于同一行,所以我后面把代码修改成了:

# 解决 ZooKeeper audit is disabled 的问题
audit.enable=true  

把注释和代码错开了,之后运行就没问题了。
在这里插入图片描述

启动kafka提示: ERROR Exiting Kafka due to fatal exception during startup

具体的问题看下图:
在这里插入图片描述
可以看到在报错的下一行(截图右边),有一系列的问号(???????),后面发现原因和之前zookeeper遇到的一样:
在这里插入图片描述
注释和代码放在同一行了,后面把他们分别放在一行就没问题了。

python中生产者传递消息时提示:KafkaTimeoutError: Failed to update metadata after 60.0 secs.

原因是我在kafka安装路径下的config文件夹下的server.properties文件中进行了如下设置:

# 该参数设置为true表示如果一个topic还没有被创建,则会自动创建该topic。
auto.create.topics.enable=false

此时,如果生产者传递的消息对应的主题没有事先创建的话,就会提示超时。
个人感觉只需要将auto.create.topics.enable设置为true即可。但是我采用的方法是参照这篇博文的方法使用下面的代码创建主题:

cd 进kafka安装路径
bin\windows\kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic topic002

注意: 此处用的是--bootstrap-server,我看有些博文推荐的是--zookeeper,但是我用zookeeper命令会报错,还有就是此处的localhost后面的9092是kafka的服务器的端口,因为此处是直接连接的kafka。topic002就是我所创建的主题名称。
后续生产者传递主题为topic002的消息时就不会提示超时了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值