在 Debian 上部署 Kafka,通常分为 系统准备、Java 环境、Kafka 安装、基础配置、启动验证 几个部分。下面给你一个实用、生产可用的配置清单(以 Kafka 3.x + Debian 11/12 为例)。
kafka),不用 rootsudo apt update
sudo apt install -y wget curl vim
Kafka 依赖 JVM(推荐 Java 17 或 11)
sudo apt install -y openjdk-17-jdk
检查:
java -version
输出示例:
openjdk 17.0.x
sudo useradd -m -s /bin/bash kafka
sudo su - 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/
├── config/
│ ├── server.properties
│ ├── zookeeper.properties
├── logs/
编辑:
vim config/zookeeper.properties
常用配置:
dataDir=/home/kafka/zookeeper
clientPort=2181
maxClientCnxns=0
admin.enableServer=false
创建目录:
mkdir -p ~/zookeeper
编辑:
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
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
bin/kafka-server-start.sh -daemon config/server.properties
jps
应看到:
QuorumPeerMain
Kafka
bin/kafka-topics.sh --create \
--topic test \
--bootstrap-server localhost:9092 \
--partitions 1 \
--replication-factor 1
bin/kafka-console-producer.sh \
--topic test \
--bootstrap-server localhost:9092
bin/kafka-console-consumer.sh \
--topic test \
--from-beginning \
--bootstrap-server localhost:9092
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)
我可以继续帮你:
你现在是 学习 / 测试 / 生产 哪种场景?