我正在尝试在我的本地计算机上设置Apache Kafka,以便按照此官方指南进行试用:https://kafka.apache.org/quickstart。
但是,当我尝试启动多个服务器时,我不断收到错误:" kafka.common.InconsistentBrokerIdException:已配置的broker.id 2与meta.properties中存储的broker.id 0不匹配。如果您移动了数据,请确保已配置的broker.id匹配。如果您打算创建新代理,则应删除数据目录中的所有数据(log.dirs)"
我完全按照指南设置参数,如:
broker.id=1
listeners=PLAINTEXT://:9093
log.dir=/tmp/kafka-logs-1
我不明白为什么它不正确。我在其他网站上搜索过他们提到我需要修改meta.properties或log.dirs中的内容,但这些文件或目录似乎都不存在于我的计算机上。请帮帮我!
答案 0 :(得分:3)
我自己通过将server-1.properties中的变量更改为原始位置来解决问题。以前我在broker.id部分的server-1.properties开头设置了三个参数。但是,* .properties文件实际上非常长,默认情况下,log.dir在文件末尾的自己的部分中设置为kafka-logs,它会在开头覆盖我的更改并导致错误,因为在目录中/ tmp / kafka-logs meta.properties有broker.id 0,对应于默认的server.properties设置。我们必须将日志目录设置为kafka-logs-1,以便meta.properties对于代理也是唯一的。
顺便说一下,我花了很长时间才找到kafka-logs所在的位置。它位于root / tmp,而不是位于kafka库所在的文件夹内。我们应该输入cd / tmp来检查它。
希望这有帮助!