上一篇说了用Docker部署kafka,后端不用zookeeper,改用kraft。
这一篇说说不用Docker,直接单机部署kafka用kraft的方法。
一、准备,虚机的话需要4cpu 8G内存
# 装好java
java --version
建3个目录
# 放kafka的2进制可执行文件
mkdir -p /opt/kafka
# 放kafka的日志文件
mkdir -p /var/log/kafka
# 放kafka的数据文件
mkdir -p /var/lib/kafka
二、下载并配置kafka
# 释放到指定目录
tar -xzf kafka_2.13-3.5.0.tgz -C /opt/kafka
# 修改/opt/kafka/config/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
# 然后需要再追加到server.properties的部分
metadata.log.dir=/var/lib/kafka/metadata
num.replica.fetchers=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
三、初始化kafka集群
# 生成一个uuid
uuidgen
dc66bcb0-758e-4360-843d-5ccb1da2ee74
# 初始化
cd /opt/kafka
bin/kafka-storage.sh format -t <UUID> -c config/server.properties
# 启动
bin/kafka-server-start.sh config/server.properties
# 检查一下代理的状态
bin/kafka-broker-api-versions.sh --bootstrap-server localhost:9092
四、推送数据验证
# 创建topic
bin/kafka-topics.sh --create --topic my-new-topic --bootstrap-server localhost:9092 --partitions 3 --replication-factor 1
# 列出topic
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
# 看看topic的属性
bin/kafka-topics.sh --describe --topic my-new-topic --bootstrap-server localhost:9092
# 生产一些消息放进topic
bin/kafka-console-producer.sh --topic my-new-topic --bootstrap-server localhost:9092
# 消费这些消息
bin/kafka-console-consumer.sh --topic my-new-topic --from-beginning --bootstrap-server localhost:9092
# 如何遇到问题,查看日志
tail -f /var/log/kafka/server.log