温馨提示×

debian kafka配置如何用

小樊
46
2026-09-06 23:47:16
栏目: 智能运维

下面给你一个在 Debian 上配置 Kafka 的实用指南,从安装到基本配置和启动,适合新手快速上手。


一、环境准备(Debian)

1. 安装 Java(Kafka 依赖 JVM)

Kafka 需要 Java 8 或以上(推荐 Java 11/17)。

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

检查:

java -version

二、下载并安装 Kafka

1. 下载 Kafka(以 3.7 为例)

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

三、Kafka 基本配置

Kafka 主要有两个配置文件:

  • config/server.properties(Broker)
  • config/zookeeper.properties(Zookeeper,老版本需要)

✅ Kafka 3.x 开始支持 KRaft 模式(无 Zookeeper),但新手建议先用 Zookeeper。


四、配置 Zookeeper(传统模式)

编辑:

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

常用配置:

dataDir=/var/lib/zookeeper
clientPort=2181

创建目录:

sudo mkdir -p /var/lib/zookeeper

五、配置 Kafka Server

编辑:

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

最基础配置(单机)

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

创建日志目录:

sudo mkdir -p /var/lib/kafka-logs

六、启动 Kafka(测试用)

1. 启动 Zookeeper

/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

建议开两个终端测试


七、基本使用测试

1. 创建 Topic

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

2. 查看 Topic

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

3. 生产消息

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

4. 消费消息

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

八、常用配置说明(重要)

listeners vs advertised.listeners

  • listeners:Kafka 绑定的地址
  • advertised.listeners:客户端实际连接的地址

远程访问示例:

listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://服务器IP:9092

九、用 systemd 管理(推荐)

Zookeeper

sudo nano /etc/systemd/system/zookeeper.service
[Unit]
Description=Zookeeper
After=network.target

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

[Install]
WantedBy=multi-user.target

Kafka

sudo nano /etc/systemd/system/kafka.service
[Unit]
Description=Kafka
After=zookeeper.service

[Service]
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
Restart=on-failure

[Install]
WantedBy=multi-user.target

启用:

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

十、常见坑

Connection refused

  • Zookeeper 没起
  • zookeeper.connect 配错

❌ 远程连不上

  • 防火墙没开 9092
  • advertised.listeners 没配公网 IP

如果你愿意,我可以继续帮你:

  • ✅ 配 KRaft(无 Zookeeper)
  • ✅ 配 集群(多 broker)
  • ✅ 配 SASL / SSL 安全
  • ✅ 配 Debian + Docker Kafka

你现在是 学习 / 生产 / 本地测试 用?

0