在 Ubuntu 上启动 Apache Kafka,一般流程如下(以 Kafka 3.x + 自带 Zookeeper 为例,也是最常见的方式)。
Kafka 依赖 Java(推荐 Java 8 / 11 / 17)。
sudo apt update
sudo apt install openjdk-11-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:
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
✅ 看到类似:
[KafkaServer id=0] started
bin/kafka-topics.sh \
--create \
--topic test-topic \
--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-topic \
--bootstrap-server localhost:9092
输入内容后回车。
bin/kafka-console-consumer.sh \
--topic test-topic \
--from-beginning \
--bootstrap-server localhost:9092
能看到消息即说明 Kafka 正常运行 ✅
# Zookeeper
nohup bin/zookeeper-server-start.sh config/zookeeper.properties > zookeeper.log 2>&1 &
# Kafka
nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &
bin/kafka-server-stop.sh
bin/zookeeper-server-stop.sh
sudo netstat -tulnp | grep 2181
echo $JAVA_HOME
如为空,需配置:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
如果你不想用 Zookeeper,也可以直接用 KRaft 模式,我可以单独给你一份 无 Zookeeper 的 Kafka 启动教程。
需要我帮你写 systemd 服务文件 或 KRaft 模式配置 吗?