温馨提示×

怎样在debian启动kafka

小樊
43
2026-09-16 01:03:40
栏目: 智能运维

下面给你一份在 Debian 上启动 Apache Kafka 的实用步骤(以 Kafka 3.x + 自带 Zookeeper 为例,适合学习和测试环境)。


一、前提条件

1. 安装 Java

Kafka 需要 Java 8 或更高版本(推荐 Java 11/17)

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

java -version

二、下载并解压 Kafka

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

三、启动 Zookeeper(Kafka 依赖)

Kafka 老版本需要 Zookeeper(KRaft 模式可不用)

cd /opt/kafka

前台启动(测试用):

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

或后台启动:

nohup bin/zookeeper-server-start.sh config/zookeeper.properties > zookeeper.log 2>&1 &

四、启动 Kafka

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

后台运行:

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

五、验证 Kafka 是否启动成功

1. 查看进程

jps

应看到:

  • QuorumPeerMain(Zookeeper)
  • 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

六、设置开机自启(Systemd,推荐)

1. Zookeeper

sudo tee /etc/systemd/system/zookeeper.service <<EOF
[Unit]
Description=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
EOF

2. Kafka

sudo tee /etc/systemd/system/kafka.service <<EOF
[Unit]
Description=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
EOF

3. 启动并开机自启

sudo systemctl daemon-reload
sudo systemctl enable --now zookeeper
sudo systemctl enable --now kafka

七、常见问题

Kafka 起不来?

  • 查看日志:
tail -f /opt/kafka/kafka.log
  • 端口被占用(9092 / 2181)
  • server.properties 中 listeners 配置错误

八、(可选)使用 KRaft 模式(无 Zookeeper)

如果你用的是 Kafka 3.3+,我可以单独给你一份 KRaft 模式启动教程。


如果你告诉我:

  • Debian 版本
  • Kafka 版本
  • 是否用于生产环境

我可以给你更精确的配置方案。

0 踩