在 Debian 上配置并运行 Apache Kafka,一般步骤如下(以 Kafka 3.x 为例,使用自带 Zookeeper 方式):
sudo apt update
sudo apt upgrade -y
sudo apt install -y default-jdk
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
sudo chown -R $USER:$USER /opt/kafka
/opt/kafka/config/zookeeper.properties
默认监听:
clientPort=2181
nano /opt/kafka/config/server.properties
常见修改项:
broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://localhost:9092
log.dirs=/tmp/kafka-logs
zookeeper.connect=localhost:2181
如果是远程访问,把
localhost改成服务器 IP
/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
建议后台运行:
nohup ... > kafka.log 2>&1 &
/opt/kafka/bin/kafka-topics.sh --create \
--topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
/opt/kafka/bin/kafka-console-producer.sh \
--topic test --bootstrap-server localhost:9092
/opt/kafka/bin/kafka-console-consumer.sh \
--topic test --from-beginning --bootstrap-server localhost:9092
sudo nano /etc/systemd/system/zookeeper.service
[Unit]
Description=Zookeeper
After=network.target
[Service]
ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo nano /etc/systemd/system/kafka.service
[Unit]
Description=Kafka
After=zookeeper.service
[Service]
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
ExecStop=/opt/kafka/bin/kafka-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable zookeeper kafka
sudo systemctl start zookeeper kafka
sudo ufw allow 9092
sudo ufw allow 2181
如果你需要 Kafka + KRaft(无 Zookeeper) 或 集群配置,也可以告诉我,我可以给你专门步骤。