在 Debian 上“连 Kafka”通常分几种情况:
下面按最常见的「在 Debian 上连接并使用 Kafka」来说明。
Kafka 需要 Java 8 及以上:
sudo apt update
sudo apt install -y default-jdk
java -version
以 Kafka 3.x 为例:
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
cd /opt/kafka
假设你已有 Kafka 服务,地址是:
192.168.1.100:9092
bin/kafka-topics.sh \
--create \
--topic test \
--bootstrap-server 192.168.1.100:9092 \
--partitions 1 \
--replication-factor 1
bin/kafka-console-producer.sh \
--topic test \
--bootstrap-server 192.168.1.100:9092
输入消息后回车即可发送。
bin/kafka-console-consumer.sh \
--topic test \
--from-beginning \
--bootstrap-server 192.168.1.100:9092
# 启动 Zookeeper(老版本需要)
bin/zookeeper-server-start.sh config/zookeeper.properties
# 新版本(Kafka 3.3+)可不用 Zookeeper
bin/kafka-storage.sh random-uuid
bin/kafka-storage.sh format -t <UUID> -c config/kraft/server.properties
# 启动 Kafka
bin/kafka-server-start.sh config/server.properties
本地连接:
--bootstrap-server localhost:9092
sudo ufw allow 9092
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://<服务器IP>:9092
在 /etc/hosts 添加:
192.168.1.100 kafka-host
确保 Kafka 服务端和客户端大版本一致(如都是 3.x)
pip install kafka-python
from kafka import KafkaProducer
producer = KafkaProducer(bootstrap_servers='192.168.1.100:9092')
producer.send('test', b'hello')
如果你能说明:
我可以直接帮你定位问题。