下面以 Debian / Ubuntu 系统为例,说明 Kafka 的启动与基本配置。
Kafka 依赖 Zookeeper(旧版本)。
sudo apt update
sudo apt install -y openjdk-17-jdk
sudo apt install -y zookeeper
启动 Zookeeper:
sudo systemctl enable zookeeper
sudo systemctl start zookeeper
若使用 Kafka 3.3+,可不使用 Zookeeper。
cd /opt
sudo wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz
sudo tar -xzf kafka_2.13-3.6.1.tgz
sudo mv kafka_2.13-3.6.1 kafka
路径:
/opt/kafka/config/server.properties
常用配置示例(单节点):
broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://localhost:9092
log.dirs=/tmp/kafka-logs
num.partitions=1
zookeeper.connect=localhost:2181
若是远程访问,把
localhost改成服务器 IP
/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
后台运行:
nohup /opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties > kafka.log 2>&1 &
sudo nano /etc/systemd/system/kafka.service
[Unit]
Description=Apache Kafka
After=zookeeper.service
[Service]
Type=simple
User=root
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
ExecStop=/opt/kafka/bin/kafka-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
启用:
sudo systemctl daemon-reload
sudo systemctl enable kafka
sudo systemctl start kafka
/opt/kafka/bin/kafka-topics.sh --bootstrap-server localhost:9092 --list
创建 topic:
kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
✅ 端口占用:检查 9092 / 2181
✅ Java 版本不对:Kafka 3.x 推荐 Java 11/17
✅ 无法远程连接:检查 advertised.listeners
如果你需要:
告诉我你的使用场景,我可以直接给你完整配置。