Python操作Kafka错误日志
问题一:无法打开zookeeper
由于我kafka下载的版本是2.12-2.4.0,所以内置了zookeeper,不用单独下载
错误一:这个问题其实是由于我太久没有操作cmd导致的,我忘记了同盘下,切目录需要使用cd,导致系统找不到该路径
错误二:但仅仅这样还是会错误,仍然是系统找不到该路径
所以我们还需要做以下操作:
在你所对应的kafka目录下要自己手动创建两个名为”data”和”logs”的文件夹,方便后续安排路径

接着,打开config/zookeeper.properties(使用vscode或者记事本打开都可以),我们来改一下配置,红框中是你所需要改的,默认是tmp什么的,改成刚刚手动创建的data文件位置即可;同时注意观察下面的客户端口号是否为2181(zookeeper默认就是这个,有些博主说只要改成对应的端口号就都可以使用,我没改)

下一步,打开config/server.properties,同样也是更改配置,同理,也要检查好你的地址和端口号


错误三:然后我们再来尝试打开,结果是kafka正常打开,zookeeper仍然找不到路径,这是为什么呢?于是我通过搜索找到了问题的原因:由于kafka是使用Java进行编写的,所以,应该是Java环境存在问题 ↓
参考文章Windows10下安装Kafka超级详细的教程(包含安装过程中遇到的问题和解决办法)
解决方法:打开 kafka\bin\windows\kafka-run-class.bat ⽂件。
进⼊kafka⽬录 ,打开上⾯说到的这个⽂件,查找后的内容如下所示。
具体原因请看这个博主的说法.\bin\windows\kafka-server-start.bat .\config\server.properties 系统找不到指定路径,启动zookeeper时候闪退
雀食,我的原因也是这个,由于已经在Java环境中写了/bin,查找路径的时候仍然写上了/bin,结果路径就变成了/bin/bin,自然就找不到路径了
问题二:操作Kafka写代码报错
zookeeper和kafka都已经启动就绪
错误一:一定要注意是否打开了MySQL服务,数据库是否连接好,参数配置是否设置正确
1 | |
错误二:字段类型为data无法被自动处理成json格式,需要函数strftime()转换成字符串格式
1 | |
错误三:如果像以下这么写会报错
1 | |
可以多加一个api(api版本就是你的kafka对应版本) ↓
1 | |
未解决问题
每次打印直接输出整个消息,无法每行分开打印(整个写循环改打印规则,不想改了)
kafka_2.12-2.4.0\bin\windows>kafka-server-start.bat ….\config/server.properties
kafka_2.12-2.4.0\bin\windows>zookeeper-server-start.bat ….\config/zookeeper.properties