温馨提示×

debian下kafka怎么启动

小樊
35
2026-09-12 19:27:51
栏目: 智能运维

在 Debian 下启动 Kafka,一般分 使用官方二进制包 和 使用 systemd 服务 两种方式。下面按最常见场景说明。


一、前提条件

Kafka 依赖 Java 和 Zookeeper(老版本)或 KRaft(新版本)

1. 安装 Java

sudo apt update
sudo apt install default-jdk -y
java -version

二、使用官方 Kafka 二进制包启动(最常用)

1. 下载并解压

wget https://downloads.apache.org/kafka/3.7.0/kafka_2.13-3.7.0.tgz
tar -xzf kafka_2.13-3.7.0.tgz
cd kafka_2.13-3.7.0

三、Kafka 2.x / 3.x(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 &

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

1. 生成集群 ID

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

2. 格式化存储

bin/kafka-storage.sh format \
  --cluster-id $KAFKA_CLUSTER_ID \
  --config config/kraft/server.properties

3. 启动 Kafka

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

五、配置 systemd(推荐生产环境)

示例:Kafka systemd 服务

sudo vim /etc/systemd/system/kafka.service
[Unit]
Description=Apache Kafka
After=network.target

[Service]
Type=simple
User=kafka
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
ExecStop=/opt/kafka/bin/kafka-server-stop.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start kafka
sudo systemctl enable kafka

六、验证 Kafka 是否启动

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

如果你告诉我:

  • Kafka 版本
  • 是否用 Zookeeper
  • 是否 Docker / 云服务器

我可以给你更精确的启动方式。

0 踩