下面给你一份在 Ubuntu 上配置 Kafka(单节点)的实用步骤,适合学习和测试环境。如果你要的是生产集群或Docker 方式,我也可以再补。
sudo apt update
sudo apt install openjdk-11-jdk -y
java -version
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
Kafka 3.x 仍可用 Zookeeper(新版本可用 KRaft,但初学者建议先 Zookeeper)
cd /opt/kafka
bin/zookeeper-server-start.sh config/zookeeper.properties
后台运行:
nohup bin/zookeeper-server-start.sh config/zookeeper.properties > zookeeper.log 2>&1 &
vim config/server.properties
常见关键配置(单节点):
broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://localhost:9092
log.dirs=/tmp/kafka-logs
zookeeper.connect=localhost:2181
如果是远程访问(非本机):
advertised.listeners=PLAINTEXT://你的服务器IP:9092
bin/kafka-server-start.sh config/server.properties
后台运行:
nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &
bin/kafka-topics.sh --create \
--topic test \
--bootstrap-server localhost:9092 \
--partitions 1 \
--replication-factor 1
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
bin/kafka-console-producer.sh \
--topic test \
--bootstrap-server localhost:9092
bin/kafka-console-consumer.sh \
--topic test \
--from-beginning \
--bootstrap-server localhost:9092
| 文件 | 作用 |
|---|---|
| config/server.properties | Kafka 主配置 |
| config/zookeeper.properties | Zookeeper 配置 |
| /tmp/kafka-logs | 默认消息存储 |
log.dirs 没权限advertised.listeners 配置错误sudo ufw allow 9092advertised.listeners 必须是外网 IP如果你想用 systemd 管理,我可以直接给你 zookeeper + kafka 的 service 文件。
如果你是:
告诉我,我可以按你的场景继续讲。