温馨提示×

Debian装Kafka需要啥配置

小樊
44
2026-07-23 17:19:50
栏目: 智能运维

在 Debian 上部署 Kafka,通常分为 系统准备、Java 环境、Kafka 安装、基础配置、启动验证 几个部分。下面给你一个实用、生产可用的配置清单(以 Kafka 3.x + Debian 11/12 为例)。


一、系统要求与准备

1️⃣ 系统环境

  • Debian 11 (Bullseye) 或 Debian 12 (Bookworm)
  • 推荐内存:4GB+(生产建议 8GB+)
  • 磁盘:Kafka 对磁盘 IO 敏感,推荐 SSD
  • 用户:建议使用普通用户(如 kafka),不用 root
sudo apt update
sudo apt install -y wget curl vim

二、安装 Java(必须)

Kafka 依赖 JVM(推荐 Java 17 或 11)

方式一:OpenJDK(推荐)

sudo apt install -y openjdk-17-jdk

检查:

java -version

输出示例:

openjdk 17.0.x

三、创建 Kafka 用户(推荐)

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

四、下载并安装 Kafka

1️⃣ 下载 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

2.13 是 Scala 版本,不影响使用


五、Kafka 基础配置(重点)

1️⃣ Kafka 目录结构

kafka/
├── config/
│   ├── server.properties
│   ├── zookeeper.properties
├── logs/

2️⃣ Zookeeper 配置(Kafka 自带)

编辑:

vim config/zookeeper.properties

常用配置:

dataDir=/home/kafka/zookeeper
clientPort=2181
maxClientCnxns=0
admin.enableServer=false

创建目录:

mkdir -p ~/zookeeper

3️⃣ Kafka Server 配置(核心)

编辑:

vim config/server.properties

✅ 最小可用配置

broker.id=0
listeners=PLAINTEXT://:9092
log.dirs=/home/kafka/kafka-logs
num.partitions=3
offsets.topic.replication.factor=1

✅ 推荐生产配置

broker.id=0
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://<服务器IP>:9092

log.dirs=/data/kafka-logs
num.partitions=3
default.replication.factor=2
offsets.topic.replication.factor=2

log.retention.hours=168
log.segment.bytes=1073741824

zookeeper.connect=localhost:2181

创建日志目录:

mkdir -p /data/kafka-logs

六、启动 Kafka(顺序很重要)

1️⃣ 启动 Zookeeper

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

2️⃣ 启动 Kafka

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

七、验证 Kafka 是否正常运行

1️⃣ 查看进程

jps

应看到:

QuorumPeerMain
Kafka

2️⃣ 创建 Topic

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

3️⃣ 发送 & 消费消息

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

八、常见 Debian 特有注意点

✅ 防火墙

sudo ufw allow 9092
sudo ufw allow 2181

✅ 文件描述符

Kafka 对 FD 要求高:

ulimit -n

建议:

sudo vim /etc/security/limits.conf
kafka soft nofile 65536
kafka hard nofile 65536

九、生产环境建议

✅ 使用 KRaft(无 Zookeeper)(Kafka 3.x 支持)
✅ 多 broker 集群
✅ JVM 参数优化
✅ systemd 管理服务
✅ 磁盘单独挂载
✅ 监控(Prometheus + JMX)


十、要不要我继续帮你?

我可以继续帮你:

  • 配置 KRaft 模式(新架构)
  • 写 systemd 服务文件
  • 配置多 broker 集群
  • 调优 JVM & 性能参数
  • Debian + Docker 部署方案

你现在是 学习 / 测试 / 生产 哪种场景?

0