在 Ubuntu 上运行 Apache Kafka,最常用、最稳妥的方式是 使用官方二进制包 + 本地启动(单机模式)。下面我按 从零到能收发消息 给你一个完整流程。
Kafka 需要 Java 8 或以上(推荐 Java 11 或 17)。
sudo apt update
sudo apt install openjdk-17-jdk -y
验证:
java -version
去官网复制最新版本链接(示例为 3.7.0):
cd /opt
sudo wget https://downloads.apache.org/kafka/3.7.0/kafka_2.13-3.7.0.tgz
解压:
sudo tar -xzf kafka_2.13-3.7.0.tgz
sudo mv kafka_2.13-3.7.0 kafka
Kafka 依赖 Zookeeper(旧版本)或 KRaft(新版本),下面分别说明。
cd /opt/kafka
bin/zookeeper-server-start.sh config/zookeeper.properties
✅ 看到 binding to port 2181 表示成功
新开一个终端:
cd /opt/kafka
bin/kafka-server-start.sh config/server.properties
✅ 看到 started (kafka.server.KafkaServer) 表示成功
bin/kafka-topics.sh \
--create \
--topic test-topic \
--bootstrap-server localhost:9092 \
--partitions 1 \
--replication-factor 1
查看 topic:
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
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
✅ 能看到 hello kafka 就说明 Kafka 正常运行了
Kafka 3.x 开始支持,但配置稍复杂
bin/kafka-storage.sh random-uuid
bin/kafka-storage.sh format \
-t <上面生成的UUID> \
-c config/kraft/server.properties
bin/kafka-server-start.sh config/kraft/server.properties
--from-beginningbin/kafka-server-stop.sh
bin/zookeeper-server-stop.sh
✅ 生产环境:
✅ 学习推荐:
如果你愿意,我可以继续帮你:
你打算用 Kafka 做什么?