温馨提示×

ubuntu下kafka怎么启动

小樊
44
2026-07-18 20:40:59
栏目: 智能运维

在 Ubuntu 下启动 Kafka,一般按 先启动 Zookeeper(或使用 KRaft),再启动 Kafka 的顺序进行。下面按最常见、最稳妥的方式一步步说明。


一、前提条件

  • 已安装 Java(JDK 8+)
  • 已下载 Kafka(官方二进制包)

检查 Java:

java -version

二、下载并解压 Kafka(如已安装可跳过)

wget https://downloads.apache.org/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

三、方式一:使用 Zookeeper(传统方式,最常用)

1️⃣ 启动 Zookeeper

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

✅ 看到 binding to port 2181 表示成功。

(建议开一个新终端继续操作)


2️⃣ 启动 Kafka

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

✅ 看到类似:

[KafkaServer id=0] started

表示 Kafka 启动成功。


四、方式二:使用 KRaft(无 Zookeeper,Kafka 3.x+)

⚠️ 生产环境仍建议 Zookeeper,除非你明确要用 KRaft

1️⃣ 生成 Cluster 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

五、后台启动(常用)

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 &

查看日志:

tail -f kafka.log

六、验证 Kafka 是否启动成功

创建 topic

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

查看 topic

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

七、关闭 Kafka

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

八、常见问题

❌ 端口被占用

netstat -tunlp | grep 9092

❌ Java 没装

sudo apt install openjdk-11-jdk

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

  • Kafka 版本
  • 是否单机 / 集群
  • 是否用于 生产环境

我可以给你 一份完整可复制的配置文件

0