在 Debian 上运行 Apache Kafka,通常分为 安装依赖、下载 Kafka、启动 ZooKeeper(或 KRaft)、启动 Kafka、验证 几个步骤。下面给你一个最常用、最稳妥的方案(基于 Debian 12,Kafka 3.x)。
sudo apt update
sudo apt upgrade -y
Kafka 3.x 推荐 Java 17(也支持 11)
sudo apt install -y openjdk-17-jdk
验证:
java -version
sudo mkdir -p /opt/kafka
cd /opt/kafka
wget https://downloads.apache.org/kafka/3.7.0/kafka_2.13-3.7.0.tgz
tar -xzf kafka_2.13-3.7.0.tgz
mv kafka_2.13-3.7.0/* .
rm -rf kafka_2.13-3.7.0 kafka_2.13-3.7.0.tgz
bin/zookeeper-server-start.sh config/zookeeper.properties
(生产环境建议后台运行)
nohup bin/zookeeper-server-start.sh config/zookeeper.properties > zookeeper.log 2>&1 &
bin/kafka-server-start.sh config/server.properties
后台运行:
nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &
Kafka 3.x 开始支持,未来主流
KAFKA_CLUSTER_ID=$(bin/kafka-storage.sh random-uuid)
bin/kafka-storage.sh format -t $KAFKA_CLUSTER_ID -c config/kraft/server.properties
bin/kafka-server-start.sh config/kraft/server.properties
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
输入:
hello kafka
bin/kafka-console-consumer.sh --topic test --from-beginning --bootstrap-server localhost:9092
Kafka 默认:
修改:
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://你的IP:9092
如果你需要,我可以帮你写 Kafka + ZooKeeper 的 systemd 服务文件。
如果你告诉我:
我可以直接给你最适合你场景的一键方案。