【发布时间】:2020-02-29 09:50:42
【问题描述】:
按照lesson 28 of Learn Apache Kafka for Beginners Udemy course 中的说明启动zookeeper,然后在Windows 10 上启动kafka 服务器代理。Zookeeper 在端口2181 上运行良好:
C:\kafka_2.12-2.3.1> zookeeper-server-start.bat config/zookeeper.properties
...
INFO 绑定到端口 0.0.0.0/0.0.0.0:2181
但是将bat文件添加到path之后,运行kafka server就不行了:
C:\kafka_2.12-2.3.1> kafka-server-start.bat config/server.properties
...
ERROR 日志加载期间其中一个线程出错:org.apache.kafka.common.KafkaException: Found directory C:\kafka_2.12-2.3.1\data\kafka, 'kafka' is not in topic-partition 或 topic-partition.uniqueId-delete 的形式(如果标记为删除)。 Kafka 的日志目录(和子目录)应该只包含 Kafka 主题数据。 (kafka.log.LogManager)
zookeeper 中的一些标准输出日志看起来信息丰富:
接受来自 /127.0.0.1:49439 (org.apache.zookeeper.server.NIOServerCnxnFactory) 的套接字连接 [2019-11-03 17:22:42,278] INFO 客户端尝试在 /127.0.0.1:49439 (org.apache.zookeeper.server.ZooKeeperServer) 建立新会话 [2019-11-03 17:22:42,286] INFO 创建新的日志文件:log.1 (org.apache.zookeeper.server.persistence.FileTxnLog)
...
INFO sessionid 的已处理会话终止:0x1007b0044a40000 (org.apache.zookeeper.server.PrepRequestProcessor) [2019-11-03 17:22:42,987] 信息已关闭客户端 /127.0.0.1:49439 的套接字连接,其 sessionid 为 0x1007b0044a40000 (org.apache.zookeeper.server.NIOServerCnxn)
在我创建的data文件夹下,有我创建的两个文件夹,第二个是我尝试运行kafka broker后填充的:
kafka/
|-- 空
zookeeper/
|-- version-2/
|--log.1
为什么会发生此错误,如何在 Windows 10 上启动 Kafka 服务器?
编辑:
config/server.properties的内容:
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=C:/kafka_2.12-2.3.1/data/
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=localhost:2181
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
【问题讨论】:
-
能否把
config/server.properties的内容发一下(可以排除cmets)? -
对不起,能否请您也显示C:\kafka_2.12-2.3.1\data\kafka下的目录名和文件名?
-
@iamabug 我用文件内容和 server.properties 编辑了问题。
-
我认为@cricket_007 是对的。错误消息显示
Kafka's log directories (and children) should only contain Kafka topic data。删除 zookeeper 目录应该是解决方案。