温馨提示×

如何配置Debian下Kafka

小樊
49
2026-10-21 09:58:12
栏目: 智能运维

下面给你一份在 Debian(10/11/12 均可参考)下配置 Kafka 的实战步骤,从环境准备到基本配置和启动,适合入门和生产前测试。


一、环境准备

1. 安装 Java(Kafka 依赖 JVM)

Kafka 3.x 推荐 Java 8 / 11 / 17

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

验证:

java -version

二、下载并安装 Kafka

2. 创建目录并下载 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

三、Kafka 基本配置

3. 配置 Zookeeper(Kafka 3.0+ 仍可用)

编辑配置文件:

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

示例:

dataDir=/var/lib/zookeeper
clientPort=2181
maxClientCnxns=0

创建数据目录:

sudo mkdir -p /var/lib/zookeeper

4. 配置 Kafka

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

关键配置(单机示例):

broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://your-server-ip:9092
log.dirs=/var/lib/kafka-logs
num.partitions=3
default.replication.factor=1
zookeeper.connect=localhost:2181

创建日志目录:

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

四、启动 Kafka(测试方式)

5. 启动 Zookeeper

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

6. 启动 Kafka

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

查看日志:

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

五、基本测试

7. 创建 Topic

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

8. 生产消息

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

9. 消费消息

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

六、配置为 systemd 服务(推荐)

10. Zookeeper 服务

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-failure

[Install]
WantedBy=multi-user.target

11. Kafka 服务

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-failure

[Install]
WantedBy=multi-user.target

启用并启动:

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

七、常见注意点

  • 生产环境:建议 3 台 broker + 3 台 zookeeper
  • 防火墙:
    sudo ufw allow 9092
    sudo ufw allow 2181
    
  • Kafka 3.x 可用 KRaft 模式(无 Zookeeper),如需要我可单独写一份

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

  • ✅ 配置 KRaft 模式
  • ✅ 多 broker 集群
  • ✅ 安全(SASL / SSL)
  • ✅ Docker / Debian 一键脚本

你现在是学习测试还是生产部署?

0 踩