温馨提示×

怎样启动debian kafka服务

小樊
31
2026-09-09 21:22:03
栏目: 智能运维

在 Debian 上启动 Kafka 服务,通常有两种方式:直接命令行启动(适合测试)和systemd 服务方式(适合生产/长期使用)。下面分别说明。


一、前置条件

Kafka 依赖 Zookeeper(Kafka 2.x/3.x 旧版本)或KRaft 模式(Kafka 3.x+ 新版本)。

1. 确认 Java 已安装

java -version

若无 Java:

sudo apt update
sudo apt install default-jdk -y

2. Kafka 目录假设

假设 Kafka 解压在:

/opt/kafka

二、方式一:命令行直接启动(推荐测试用)

1. 启动 Zookeeper(老版本 Kafka)

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

2. 启动 Kafka

另开一个终端:

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

若想后台运行:

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

三、方式二:systemd 启动(推荐生产用)

1. 创建 Zookeeper 服务

sudo nano /etc/systemd/system/zookeeper.service

内容:

[Unit]
Description=Apache Zookeeper
After=network.target

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

[Install]
WantedBy=multi-user.target

2. 创建 Kafka 服务

sudo nano /etc/systemd/system/kafka.service

内容:

[Unit]
Description=Apache Kafka
After=zookeeper.service

[Service]
Type=simple
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

3. 启动服务

sudo systemctl daemon-reload
sudo systemctl start zookeeper
sudo systemctl start kafka

4. 设置开机自启

sudo systemctl enable zookeeper
sudo systemctl enable kafka

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

1. 生成集群 ID

/opt/kafka/bin/kafka-storage.sh random-uuid

2. 格式化存储

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

3. 启动

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

五、验证 Kafka 是否启动

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

如果你能告诉我:

  • Kafka 版本
  • 是否使用 Zookeeper
  • 是否用 apt 安装还是手动解压

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

0