温馨提示×

debian kafka要配哪些项

小樊
40
2026-09-06 23:51:17
栏目: 智能运维

在 Debian 上部署 Kafka,通常分为 Kafka 本身配置系统/运行环境配置 两部分。下面按“最小可运行 → 生产建议”来说明。


一、基础环境配置(Debian 侧)

1. 安装 JDK

Kafka 依赖 Java:

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

Kafka 3.x 推荐 Java 11 / 17


2. 创建专用用户(推荐)

sudo useradd -m -s /bin/bash kafka

3. 下载和解压 Kafka

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
sudo mv kafka_2.13-3.7.0 /opt/kafka

二、Kafka 核心配置项(必配)

1. server.properties(最重要)

路径:

/opt/kafka/config/server.properties

✅ 最小可用配置

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

2. Zookeeper(Kafka < 3.3 必需)

Kafka 3.3+ 可用 KRaft,可不使用 Zookeeper

zookeeper.properties

dataDir=/var/lib/zookeeper
clientPort=2181

三、生产环境建议配置

1. 基础生产配置

broker.id=1
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://kafka1.example.com:9092
log.dirs=/data/kafka/logs
num.partitions=3
default.replication.factor=3
min.insync.replicas=2
zookeeper.connect=zk1:2181,zk2:2181,zk3:2181

2. 日志与保留策略

log.retention.hours=168
log.segment.bytes=1073741824
log.cleaner.enable=true

3. 性能相关

num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400

四、KRaft 模式(无 Zookeeper,推荐新项目)

1. 配置 kraft/server.properties

process.roles=broker,controller
node.id=1
controller.quorum.voters=1@kafka1:9093
listeners=PLAINTEXT://:9092,CONTROLLER://:9093
advertised.listeners=PLAINTEXT://kafka1:9092
log.dirs=/data/kafka/logs

2. 初始化

bin/kafka-storage.sh format -t <uuid> -c config/kraft/server.properties

五、systemd 服务(Debian 推荐)

Kafka service

[Unit]
Description=Apache Kafka
After=network.target

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

[Install]
WantedBy=multi-user.target

六、常见必配总结表

类别 配置项
基础 broker.id
网络 listeners / advertised.listeners
存储 log.dirs
集群 zookeeper.connect 或 controller.quorum.voters
可靠性 replication.factor / min.insync.replicas
运维 log.retention / systemd

如果你愿意,我可以:

  • 给你 单节点 / 集群 / Docker / KRaft 的具体配置示例
  • 或按你的 Debian 版本 + Kafka 版本 精确给配置

你现在是 单机测试还是生产集群

0