下面以 Debian 系统 为例,给你一个 从零到可用 的 Kafka 安装与基本配置流程(基于 Kafka 3.x + Java 17,当前最常用方案)。
sudo apt update
sudo apt install -y openjdk-17-jdk
验证:
java -version
sudo useradd -r -m -s /bin/bash kafka
sudo su - kafka
cd ~
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 kafka
cd kafka
版本号可按需替换
server.propertiesvim config/server.properties
常用关键配置(单机):
# broker 唯一 ID
broker.id=0
# 监听地址(重要)
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://<服务器IP>:9092
# 日志目录(确保存在)
log.dirs=/home/kafka/kafka-logs
# Zookeeper(Kafka 3.x 仍可用)
zookeeper.connect=localhost:2181
✅ Kafka 3.x 支持 KRaft(无 Zookeeper),但 新手建议先用 Zookeeper
Kafka 自带 Zookeeper:
vim config/zookeeper.properties
示例:
dataDir=/home/kafka/zookeeper
clientPort=2181
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-topic \
--bootstrap-server localhost:9092 \
--partitions 1 \
--replication-factor 1
bin/kafka-console-producer.sh \
--topic test-topic \
--bootstrap-server localhost:9092
输入:
hello kafka
bin/kafka-console-consumer.sh \
--topic test-topic \
--from-beginning \
--bootstrap-server localhost:9092
sudo vim /etc/systemd/system/zookeeper.service
[Unit]
Description=Zookeeper
After=network.target
[Service]
Type=simple
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
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo vim /etc/systemd/system/kafka.service
[Unit]
Description=Kafka
After=zookeeper.service
[Service]
Type=simple
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
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable zookeeper
sudo systemctl enable kafka
sudo systemctl start zookeeper
sudo systemctl start kafka
sudo ufw allow 9092
localhost,用真实 IP 或域名✅ 集群部署
✅ KRaft 模式(无 Zookeeper)
✅ Kafka + SASL / SSL
✅ Kafka + systemd + 日志管理
如果你告诉我:
我可以给你 更精确的生产级配置方案。