linux环境部署kafka KRaft模式启动(单机)

5 阅读1分钟

系统环境

本文用的龙蜥 Anolis 8.5.0-18.0.4

Linux version 5.10.134-18.an8.x86_64 (mockbuild@iZ2ze8vdmdyl66lfybi1hzZ) (gcc (GCC) 8.5.0 20210514 (Anolis 8.5.0-18.0.4), GNU ld version 2.30-123.0.1.an8) #1 SMP Fri Dec 13 16:32:58 CST 2024

安装之前确保安装了java环境

java -version

下载

下载地址: Downloads | Apache Kafka

image.png

下载之后上传到服务器

# 把文件放在 /usr/local/
# 解压
tar -zxvf 文件名

KRaft模式启动(单机)

kafka自己的配置中心,不用再启动zookeeper了,我们用这种方式启动

先修改配置文件

不改这个远程可能连不上

# 修改kraft模式的配置文件
vim config/kraft/reconfig-server.properties

# 原配置
listeners=PLAINTEXT://:9092,CONTROLLER://:9093
advertised.listeners=PLAINTEXT://localhost:9092,CONTROLLER://localhost:9093

# 改为
listeners=PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:9093
advertised.listeners=PLAINTEXT://你的外网ip:9092,CONTROLLER://你的外网ip:9093

# 可选:修改数据存储目录(建议改到有足够空间的位置)
# log.dirs=/tmp/kafka-logs  # 默认路径
log.dirs=/data/kafka/logs   # 例如改为这个

2、初始化KRaft存储

KAFKA_CLUSTER_ID="$(bin/kafka-storage.sh random-uuid)"
echo "集群ID: $KAFKA_CLUSTER_ID"

# 格式化存储目录
bin/kafka-storage.sh format --standalone -t $KAFKA_CLUSTER_ID -c config/kraft/reconfig-server.properties

看到输出包含 Formatting ... 即表示成功

3、启动

# 停止Kafka
bin/kafka-server-stop.sh

# 后台启动(推荐)
bin/kafka-server-start.sh -daemon config/kraft/reconfig-server.properties

# 或者前台启动(可以看到详细日志)
bin/kafka-server-start.sh config/kraft/reconfig-server.properties

4、测试

# 1. 检查进程
jps | grep Kafka
# 应该看到类似:12345 Kafka

# 2. 检查端口监听
ss -tlnp | grep 9092
# 应该看到 LISTEN 状态

# 3. 查看启动日志
tail -20 logs/server.log | grep -i "started"
# 应该看到 "Kafka Server started"

测试本地生产消费

# 开一个终端消费
bin/kafka-console-consumer.sh --topic test-topic --bootstrap-server localhost:9092

# 另一个终端生产
bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092
> hello