温馨提示×

Kafka在Debian如何启动

小樊
39
2026-07-23 16:04:41
栏目: 智能运维

在 Debian 上启动 Apache Kafka,一般流程如下(假设你已经安装好 Java 和 Kafka)。


一、前置条件

1. 安装 Java(Kafka 依赖)

Kafka 需要 Java 8 及以上

sudo apt update
sudo apt install openjdk-17-jdk -y

验证:

java -version

二、下载并解压 Kafka

以 Kafka 3.x 为例:

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

目录结构说明:

  • bin/:启动脚本
  • config/:配置文件
  • logs/:运行日志

三、启动 Kafka(先启动 Zookeeper)

⚠️ Kafka 新版本已逐步移除 Zookeeper,但 3.x 默认仍需要 Zookeeper

1️⃣ 启动 Zookeeper

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

✅ 看到类似 binding to port 2181 表示成功


2️⃣ 启动 Kafka Broker

新开一个终端:

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

✅ 看到 started (kafka.server.KafkaServer) 表示启动成功


四、后台启动(推荐)

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 是否启动成功

1️⃣ 查看进程

jps

应看到:

QuorumPeerMain   # Zookeeper
Kafka            # Kafka

2️⃣ 创建测试 Topic

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

3️⃣ 查看 Topic

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

六、常见问题

❌ 端口被占用

  • Zookeeper:2181
  • Kafka:9092
sudo netstat -tulnp | grep 2181

七、Kafka 3.x(无 Zookeeper,KRaft 模式)

如果你想 不使用 Zookeeper

KAFKA_CLUSTER_ID=$(bin/kafka-storage.sh random-uuid)
bin/kafka-storage.sh format -t $KAFKA_CLUSTER_ID -c config/kraft/server.properties
bin/kafka-server-start.sh config/kraft/server.properties

八、Debian 系统服务方式(进阶)

我可以帮你写成 systemd 服务文件,开机自启 Kafka + Zookeeper。

如果你需要,告诉我:

  • Kafka 安装路径
  • 是否使用 Zookeeper / KRaft
  • 单机还是集群

我可以给你完整 systemd 配置 ✅

0