温馨提示×

debian下kafka怎样启动

小樊
50
2026-10-12 17:20:33
栏目: 智能运维

在 Debian 下启动 Kafka,一般有两种常见方式:手动启动(官方二进制包) 和 systemd 服务方式(推荐)。下面分别说明。


一、前提条件

Kafka 依赖 Java 和 Zookeeper(Kafka 2.8+ 可用 KRaft 模式,不需要 Zookeeper)。

1. 安装 Java

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

2. 下载 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
mv kafka_2.13-3.6.1 /opt/kafka

二、方式一:手动启动(适合测试)

1. 启动 Zookeeper

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

新开一个终端继续

2. 启动 Kafka

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

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


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

1. 创建 Zookeeper 服务

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

内容:

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

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

[Install]
WantedBy=multi-user.target

2. 创建 Kafka 服务

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

内容:

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

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

[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

5. 查看状态

systemctl status kafka
journalctl -u kafka -f

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

如果你使用的是 Kafka 3.x 且不想用 Zookeeper:

# 生成集群 ID
bin/kafka-storage.sh random-uuid

# 格式化
bin/kafka-storage.sh format -t <cluster-id> -c config/kraft/server.properties

# 启动
bin/kafka-server-start.sh config/kraft/server.properties

五、简单验证

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

如果你告诉我:

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

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

0 踩