如果你想在没有Zookeeper的情况下运行Kafka,可以使用Kafka的KRaft模式(Kafka Raft)。以下是一个不依赖Zookeeper的Kafka部署示例:
示例:在KRaft模式下部署Kafka
1. 下载Kafka
从Kafka的官方网站下载最新版本的Kafka(例如kafka_3.7.0)。
2. 配置KRaft模式
解压下载的Kafka文件,然后配置Kafka以启用KRaft模式:
- 解压Kafka:将下载的文件解压到某个目录,例如
/usr/local/kafka。 - 初始化存储目录:在Kafka的安装目录下执行以下命令,初始化KRaft元数据目录(例如
/var/lib/kafka):
bin/ format -t <uuid> -c config/kraft/server.properties- 其中,
<uuid>可以使用uuidgen命令生成。例如:
uuidgen3. 配置Kafka
修改Kafka的配置文件config/kraft/server.properties,配置示例:
process.roles=broker,controller
node.id=1
controller.quorum.voters=1@localhost:9093
listeners=PLAINTEXT://localhost:9092,CONTROLLER://localhost:9093
log.dirs=/var/lib/kafka-logs4. 启动Kafka
在Kafka的安装目录下执行启动脚本:
cd /usr/local/kafka
bin/ config/kraft/server.properties5. 创建Topic
使用Kafka提供的命令行工具创建一个Topic,例如名为test-topic:
bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 16. 生产和消费数据
测试生产者和消费者:
- 创建生产者:
bin/ --topic test-topic --bootstrap-server localhost:9092然后输入一些消息,如“Hello Kafka”。
- 创建消费者:
bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092你应该会看到生产者发送的消息显示在消费者的控制台中。
















