上一篇说了用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