温馨提示×

kafka配置于debian怎么弄

小樊
37
2026-09-25 04:32:41
栏目: 智能运维

下面给你一个在 Debian 上安装并配置 Apache Kafka 的实用流程(以 Debian 11/12 + Kafka 3.x 为例,单机版,适合学习/测试,也标注了生产注意点)。


一、环境准备

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装 Java(Kafka 依赖 JVM)

Kafka 3.x 需要 Java 8 或 11(推荐 11)

sudo apt install -y openjdk-11-jdk
java -version

二、下载并安装 Kafka

1. 创建用户(推荐)

sudo useradd -m -s /bin/bash kafka
sudo su - kafka

2. 下载 Kafka

cd ~
wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz
tar -xzf kafka_2.13-3.6.1.tgz
mv kafka_2.13-3.6.1 kafka
cd kafka

三、配置 Kafka

1. Zookeeper 配置(Kafka 3.x 仍可用)

vi config/zookeeper.properties

常见配置:

dataDir=/home/kafka/zookeeper
clientPort=2181

2. Kafka 配置

vi config/server.properties

最小可用配置:

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

生产环境建议:

  • num.partitions=3
  • default.replication.factor=3
  • min.insync.replicas=2

四、启动 Kafka

1. 启动 Zookeeper

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

2. 启动 Kafka

新开一个终端:

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

五、测试 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

六、设为系统服务(推荐)

1. Zookeeper service

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

[Service]
User=kafka
ExecStart=/home/kafka/kafka/bin/zookeeper-server-start.sh /home/kafka/kafka/config/zookeeper.properties
ExecStop=/home/kafka/kafka/bin/zookeeper-server-stop.sh

[Install]
WantedBy=multi-user.target

2. Kafka service

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

[Service]
User=kafka
ExecStart=/home/kafka/kafka/bin/kafka-server-start.sh /home/kafka/kafka/config/server.properties
ExecStop=/home/kafka/kafka/bin/kafka-server-stop.sh

[Install]
WantedBy=multi-user.target

3. 启动

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

七、常见问题

  • 端口占用:检查 2181 / 9092
  • 无法远程连接:改 advertised.listeners
  • 生产环境:建议 Kafka 3.3+ 使用 KRaft(无 Zookeeper)

如果你愿意,我可以:

  • ✅ 给你 KRaft 模式配置
  • ✅ 给你 Docker 版 Kafka
  • ✅ 给你 生产级 server.properties 模板

你准备用在测试还是生产?

0 踩