温馨提示×

Debian装Kafka如何配

小樊
44
2026-10-03 21:46:07
栏目: 智能运维

下面给你一个在 Debian(如 Debian 11/12)上安装并配置 Kafka的实用步骤,默认使用 Kafka 3.x + 自带 Zookeeper(最简单、适合学习和测试)。


一、环境准备

1. 安装 Java(Kafka 需要 JDK)

sudo apt update
sudo apt install -y default-jdk

验证:

java -version

二、下载并安装 Kafka

2. 创建目录并下载 Kafka

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

版本可自行替换


三、配置 Zookeeper(Kafka 依赖)

3. 修改 Zookeeper 配置

cd /opt/kafka
sudo nano config/zookeeper.properties

常用配置:

dataDir=/opt/kafka/zookeeper-data
clientPort=2181
maxClientCnxns=0

创建数据目录:

sudo mkdir -p /opt/kafka/zookeeper-data

四、配置 Kafka

4. 修改 server.properties

sudo nano config/server.properties

关键配置(单机示例):

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

创建日志目录:

sudo mkdir -p /opt/kafka/kafka-logs

五、启动 Kafka 和 Zookeeper

5. 启动 Zookeeper

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

6. 启动 Kafka(新终端)

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

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


六、测试 Kafka

7. 创建 Topic

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

8. 发送消息

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

输入:

hello kafka

9. 消费消息(新终端)

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

七、设置开机自启(systemd,推荐)

10. Zookeeper service

sudo nano /etc/systemd/system/zookeeper.service
[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-abnormal

[Install]
WantedBy=multi-user.target

11. Kafka service

sudo nano /etc/systemd/system/kafka.service
[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-abnormal

[Install]
WantedBy=multi-user.target

12. 启用

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

八、常见问题

  • 端口被占用:检查 2181 / 9092
  • 无法连接:检查 advertised.listeners
  • 生产环境:建议 Kafka 3.x + KRaft(不用 Zookeeper)

如果你需要:

  • ✅ KRaft 模式(无 Zookeeper)
  • ✅ 集群部署
  • ✅ Docker / Debian 12 特定问题

告诉我你的使用场景,我可以直接给你对应配置。

0 踩