温馨提示×

debian跑kafka如何配置呢

小樊
37
2026-09-25 04:26:44
栏目: 智能运维

在 Debian 上运行 Kafka,通常搭配 Zookeeper(或新版本的 KRaft 模式)。下面我给你一份从零开始、可落地的配置教程,适用于 Debian 11 / 12。


一、环境准备

1. 安装 Java(Kafka 依赖)

Kafka 需要 JDK 8 或以上(推荐 JDK 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

三、配置 Zookeeper(传统模式)

Kafka 3.x 仍支持 Zookeeper,简单稳定

1. 配置 Zookeeper

vi config/zookeeper.properties

常见配置:

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

创建数据目录:

mkdir -p /opt/kafka/zookeeper-data

四、配置 Kafka

1. 编辑 server.properties

vi 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

创建日志目录:

mkdir -p /opt/kafka/kafka-logs

五、启动 Kafka(测试)

1. 启动 Zookeeper

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

2. 启动 Kafka

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

看到:

[KafkaServer id=0] started

说明成功 ✅


六、测试 Kafka

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 service

sudo vi /etc/systemd/system/zookeeper.service
[Unit]
Description=Apache 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-abnormal

[Install]
WantedBy=multi-user.target

2. Kafka service

sudo vi /etc/systemd/system/kafka.service
[Unit]
Description=Apache 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-abnormal

[Install]
WantedBy=multi-user.target

3. 启动

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

八、防火墙(如有)

sudo ufw allow 9092
sudo ufw allow 2181

九、可选:KRaft 模式(无 Zookeeper)

如果你用的是 Kafka 3.3+,我也可以给你:

  • KRaft 单节点配置
  • KRaft 集群配置

十、常见问题

✅ Kafka 起不来?

  • 检查 advertised.listeners
  • 检查 Java 版本
  • 看 logs/server.log

✅ 远程连不上?

  • advertised.listeners 必须是公网/内网 IP

如果你愿意,可以告诉我:

  • 单节点还是集群?
  • 是否用 Docker?
  • Kafka 版本要求?

我可以直接给你 一份定制配置。

0 踩