按照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文件添加到路径后,无法运行kafka服务器:
C:\kafka_2.12-2.3.1> kafka-server-start.bat config/server.properties
...
错误日志加载期间,其中一个线程出现错误:org.apache.kafka.common.KafkaException:找到目录C:\ kafka_2.12-2.3.1 \ data \ kafka,'kafka'不在topic-partition或topic-partition.uniqueId-delete的形式(如果标记为删除)。 Kafka的日志目录(和子目录)应仅包含Kafka主题数据。 (kafka.log.LogManager)
Zookeeper中的某些stdout登录看起来很有帮助:
从/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]信息创建新的日志文件:log.1(org.apache.zookeeper.server.persistence.FileTxnLog)
...
INFO会话ID的已处理会话终止:0x1007b0044a40000(org.apache.zookeeper.server.PrepRequestProcessor) [2019-11-03 17:22:42,987]信息具有会话ID 0x1007b0044a40000(org.apache.zookeeper.server.NIOServerCnxn)的客户端/127.0.0.1:49439的套接字连接已关闭
在我创建的data
文件夹下,创建了两个文件夹,其中第二个是在我尝试运行kafka代理后填充的:
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 =本地主机:2181
zookeeper.connection.timeout.ms = 6000
group.initial.rebalance.delay.ms = 0