温馨提示×

Kafka在Linux如何启动

小樊
43
2026-08-17 03:14:01
栏目: 智能运维

在 Linux 上启动 Apache Kafka,一般按下面步骤来(假设你已经安装好 Kafka 和 JDK)。


一、前置条件

  1. 安装 JDK
java -version

Kafka 需要 Java 8 及以上。

  1. 下载并解压 Kafka
tar -xzf kafka_2.13-3.6.0.tgz
cd kafka_2.13-3.6.0

二、启动 Zookeeper(Kafka 依赖)

⚠️ Kafka 3.x 以后可以不用 Zookeeper(KRaft 模式),但默认还是用 Zookeeper。

1️⃣ 启动 Zookeeper

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

✅ 看到类似日志说明启动成功:

binding to port 0.0.0.0/0.0.0.0:2181

三、启动 Kafka Broker

新开一个终端窗口:

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

✅ 启动成功标志:

[KafkaServer id=0] started

四、后台启动(推荐)

实际生产环境常用后台方式:

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

查看进程:

jps

你会看到:

QuorumPeerMain
Kafka

五、验证 Kafka 是否启动成功

1️⃣ 创建 Topic

bin/kafka-topics.sh --create \
--topic test \
--bootstrap-server localhost:9092 \
--partitions 1 \
--replication-factor 1

2️⃣ 查看 Topic

bin/kafka-topics.sh --list --bootstrap-server localhost:9092

六、Kafka 3.x 无 Zookeeper 启动(KRaft 模式)

如果你用的是 Kafka 3.x+,可以直接用 KRaft:

1️⃣ 生成集群 ID

bin/kafka-storage.sh random-uuid

2️⃣ 格式化日志目录

bin/kafka-storage.sh format -t <uuid> -c config/kraft/server.properties

3️⃣ 启动 Kafka

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

七、常见问题

❌ 端口被占用

netstat -tunlp | grep 9092

❌ Java 没装

which java

如果你愿意,可以告诉我:

  • Kafka 版本
  • 单机 还是 集群
  • 是否要 无 Zookeeper

我可以给你更精确的启动方案 ✅

0