温馨提示×

如何在debian配kafka

小樊
47
2026-09-28 02:09:39
栏目: 智能运维

下面给你一份**在 Debian 上安装和配置 Apache Kafka(单机版)**的实用步骤,适用于 Debian 11/12。


一、环境准备

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装 Java(Kafka 依赖 JVM)

Kafka 3.x 推荐 Java 17(也支持 11):

sudo apt install -y openjdk-17-jdk

验证:

java -version

二、安装 Kafka

1. 创建用户(推荐)

sudo useradd -m -s /bin/bash kafka
sudo passwd kafka

2. 下载 Kafka

到 https://kafka.apache.org/downloads 选最新版本,例如:

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
sudo chown -R kafka:kafka /opt/kafka

三、配置 Kafka

1. Zookeeper 配置(Kafka 3.0 前需要)

Kafka 3.x 仍可用 Zookeeper:

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

默认端口:2181


2. Kafka Server 配置

编辑:

sudo nano /opt/kafka/config/server.properties

常见修改:

broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://localhost:9092
log.dirs=/tmp/kafka-logs
zookeeper.connect=localhost:2181

四、启动 Kafka

1. 启动 Zookeeper

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

2. 启动 Kafka

sudo -u kafka /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties

查看日志:

tail -f /opt/kafka/logs/server.log

五、测试 Kafka

1. 创建 Topic

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

2. 生产消息

/opt/kafka/bin/kafka-console-producer.sh \
--topic test \
--bootstrap-server localhost:9092

3. 消费消息(新终端)

/opt/kafka/bin/kafka-console-consumer.sh \
--topic test \
--from-beginning \
--bootstrap-server localhost:9092

六(可选)、用 systemd 管理

zookeeper.service

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

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

[Install]
WantedBy=multi-user.target

kafka.service

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

[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

[Install]
WantedBy=multi-user.target

启用:

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

七、常见问题

  • 端口被占用:检查 2181 / 9092
  • Java 版本不对:Kafka 3.x 不建议 Java 8
  • 远程连接:修改 advertised.listeners

如果你需要:

  • ✅ Kafka KRaft 模式(无 Zookeeper)
  • ✅ 集群配置
  • ✅ Docker / Debian 12 特定版本

告诉我你的使用场景即可。

0 踩