单机部署kafka用kraft不依赖zookeeper

上一篇说了用Docker部署kafka,后端不用zookeeper,改用kraft。

这一篇说说不用Docker,直接单机部署kafka用kraft的方法。

一、准备,虚机的话需要4cpu 8G内存

 1# 装好java
 2java --version
 3
 4建3个目录
 5# 放kafka的2进制可执行文件
 6mkdir -p /opt/kafka  
 7
 8# 放kafka的日志文件
 9mkdir -p /var/log/kafka
10
11# 放kafka的数据文件
12mkdir -p /var/lib/kafka

二、下载并配置kafka

 1# 释放到指定目录
 2tar -xzf kafka_2.13-3.5.0.tgz -C /opt/kafka
 3
 4# 修改/opt/kafka/config/server.properties
 5process.roles=broker,controller
 6node.id=1
 7controller.quorum.voters=1@localhost:9093
 8listeners=PLAINTEXT://localhost:9092,CONTROLLER://localhost:9093
 9log.dirs=/var/lib/kafka
10
11# 然后需要再追加到server.properties的部分
12metadata.log.dir=/var/lib/kafka/metadata
13num.replica.fetchers=1
14offsets.topic.replication.factor=1
15transaction.state.log.replication.factor=1
16transaction.state.log.min.isr=1

三、初始化kafka集群

 1# 生成一个uuid
 2uuidgen
 3dc66bcb0-758e-4360-843d-5ccb1da2ee74
 4
 5# 初始化
 6cd /opt/kafka
 7bin/kafka-storage.sh format -t <UUID> -c config/server.properties
 8
 9# 启动
10bin/kafka-server-start.sh config/server.properties
11
12# 检查一下代理的状态
13bin/kafka-broker-api-versions.sh --bootstrap-server localhost:9092

四、推送数据验证

 1# 创建topic
 2bin/kafka-topics.sh --create --topic my-new-topic --bootstrap-server localhost:9092 --partitions 3 --replication-factor 1
 3
 4# 列出topic
 5bin/kafka-topics.sh --list --bootstrap-server localhost:9092
 6
 7# 看看topic的属性
 8bin/kafka-topics.sh --describe --topic my-new-topic --bootstrap-server localhost:9092
 9
10# 生产一些消息放进topic
11bin/kafka-console-producer.sh --topic my-new-topic --bootstrap-server localhost:9092
12
13# 消费这些消息
14bin/kafka-console-consumer.sh --topic my-new-topic --from-beginning --bootstrap-server localhost:9092
15
16# 如何遇到问题,查看日志
17tail -f /var/log/kafka/server.log

用Docker部署kafka且不依赖zookeeper
Postgres的wal和PITR时间点恢复
comments powered by Disqus