温馨提示×

debian装kafka如何配置

小樊
51
2026-10-06 20:15:52
栏目: 智能运维

下面以 Debian 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

1. 创建目录

sudo mkdir -p /opt/kafka
cd /opt/kafka

2. 下载 Kafka(以 3.7.0 为例)

wget https://downloads.apache.org/kafka/3.7.0/kafka_2.13-3.7.0.tgz
tar -xzf kafka_2.13-3.7.0.tgz
mv kafka_2.13-3.7.0/* .
rm -rf kafka_2.13-3.7.0 kafka_2.13-3.7.0.tgz

三、配置 Kafka

1. Zookeeper 配置(Kafka 3.5 之前仍需)

Kafka 3.5+ 可使用 KRaft 模式(无 Zookeeper),下面先讲 经典模式

编辑:

vim config/zookeeper.properties

常用配置:

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

2. Kafka Server 配置

vim config/server.properties

关键配置(单机示例):

broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://<服务器IP>:9092
log.dirs=/opt/kafka/kafka-logs
num.partitions=3
default.replication.factor=1
zookeeper.connect=localhost:2181

⚠️ 如果是云服务器,advertised.listeners 必须写对外 IP 或域名。


四、启动 Kafka

1. 启动 Zookeeper

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

后台运行:

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

2. 启动 Kafka

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

后台运行:

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

五、基础测试

1. 创建 Topic

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

2. 生产消息

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

3. 消费消息

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

六、配置 Systemd(推荐)

1. Zookeeper

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

[Service]
Type=simple
User=root
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

2. Kafka

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

[Service]
Type=simple
User=root
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 --now zookeeper
sudo systemctl enable --now kafka

七、KRaft 模式(无 Zookeeper,可选)

如需要 Kafka 3.5+ KRaft 单节点配置,我也可以给你一份完整配置。


八、常见问题

  • 起不来:看 kafka.log,一般是 advertised.listeners 错
  • 外网连不上:检查防火墙 & advertised.listeners
  • 端口:9092(Kafka),2181(Zookeeper)

如果你告诉我:

  • 单节点 / 集群
  • 是否云服务器
  • Kafka 版本

我可以给你 精确配置文件。

0 踩