温馨提示×

kafka在linux咋启动

小樊
43
2026-10-05 06:48:05
栏目: 智能运维

在 Linux 上启动 Kafka,通常步骤如下(以官方二进制包为例,最常见场景):


一、前置条件

Kafka 依赖 Zookeeper(老版本)或内置 KRaft(新版本 3.x+)

1. 安装 JDK

java -version

没有就装:

yum install java-1.8.0-openjdk -y   # CentOS
# 或
apt install openjdk-11-jdk -y       # Ubuntu

二、下载并解压 Kafka

wget https://archive.apache.org/dist/kafka/3.6.1/kafka_2.13-3.6.1.tgz
tar -xzf kafka_2.13-3.6.1.tgz
cd kafka_2.13-3.6.1

三、启动 Kafka(Zookeeper 模式,最常用)

1️⃣ 启动 Zookeeper

bin/zookeeper-server-start.sh config/zookeeper.properties

后台运行:

nohup bin/zookeeper-server-start.sh config/zookeeper.properties > zookeeper.log 2>&1 &

2️⃣ 启动 Kafka

bin/kafka-server-start.sh config/server.properties

后台运行:

nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &

四、验证是否启动成功

jps

应看到:

QuorumPeerMain   # Zookeeper
Kafka

或看日志:

tail -f kafka.log

五、Kafka 3.x + KRaft 模式(无 Zookeeper)

1️⃣ 生成集群 ID

KAFKA_CLUSTER_ID=$(bin/kafka-storage.sh random-uuid)

2️⃣ 格式化存储

bin/kafka-storage.sh format -t $KAFKA_CLUSTER_ID -c config/kraft/server.properties

3️⃣ 启动 Kafka

bin/kafka-server-start.sh config/kraft/server.properties

六、停止 Kafka

bin/kafka-server-stop.sh
bin/zookeeper-server-stop.sh

七、常见坑

  • 端口占用:默认 9092
  • 不能重复启动
  • server.properties 中 broker.id 必须唯一
  • 防火墙
firewall-cmd --add-port=9092/tcp --permanent
firewall-cmd --reload

如果你告诉我:

  • Kafka 版本
  • 是否用 Docker
  • 单机还是集群

我可以直接给你精确命令。

0 踩