在 Ubuntu 上安装 Apache Kafka,常见有两种方式:
✅ 官方二进制包(最常用、推荐)
✅ Docker 方式(适合快速测试)
下面我按 最常用、生产可用 的方式一步步讲。
Kafka 需要 Java 8 或以上,推荐 Java 11 或 17。
sudo apt update
sudo apt install openjdk-17-jdk -y
验证:
java -version
去官网复制最新稳定版地址(示例为 3.6.1):
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 自带 Zookeeper(新版本也支持 KRaft,但新手建议先用 Zookeeper)。
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
输入内容后回车。
新终端:
bin/kafka-console-consumer.sh \
--topic test-topic \
--from-beginning \
--bootstrap-server localhost:9092
✅ 能看到刚才发送的消息说明 Kafka 正常工作
nohupnohup bin/zookeeper-server-start.sh config/zookeeper.properties > zookeeper.log 2>&1 &
nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &
查看进程:
jps
9092listeners=PLAINTEXT://localhost:9092Kafka 3.x 支持,但 新手不建议,配置更复杂。
docker run -d \
--name kafka \
-p 9092:9092 \
apache/kafka:latest
✅ 推荐安装方式:
Ubuntu + Java + 官方 Kafka 二进制包
✅ 适合场景:
如果你需要:
告诉我你的使用场景,我可以直接给你完整生产级配置方案。