在Kafka2.8之前,Kafka强依赖zookeeper,2.8版本之后Kafka可以采用KRaft(Kafka Raft)模式,逐步去除对zookeeper的依赖。
最新的3.0版本中,Kafka依然兼容zookeeper Controller,但Kafka Raft元数据模式,已经可以在不依赖zookeeper的情况下启动Kafka了。但是它目前还是预览版,不建议用于生产环境。
1.Kraft模式启动Kafka
1.首先使用kafka-storage.sh为新集群生成ID:
./bin/kafka-storage.sh random-uuid
2.下一步是格式化存储目录。如果在单节点模式下运行,可以通过如下命令执行此操作。如果使用多个节点,则应在每个节点上运行format命令,确保对每个群集使用相同的群集ID。
./bin/kafka-storage.sh format -t <uuid> -c ./config/kraft/server.properties
3.最后,启动Kafka服务:
./bin/kafka-server-start.sh ./config/kraft/server.properties
4.创建一个topic:
2.基于zookeeper启动Kafka
1.先启动zookeeper:
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties &
2.启动Kafka:
bin/kafka-server-start.sh -daemon config/server.properties &