在 Debian 上测试 Kafka 配置,通常分为基础连通性测试、命令行生产/消费测试、配置文件校验和进阶压测。下面按步骤说明,假设你已经在 Debian 上安装并启动了 Kafka(通常由 Zookeeper + Kafka Broker 组成)。
# 查看服务状态(如果用 systemd)
systemctl status kafka
systemctl status zookeeper
# 或看进程
ps aux | grep kafka
ps aux | grep zookeeper
确认端口在监听(默认):
# Zookeeper
netstat -tlnp | grep 2181
# Kafka
netstat -tlnp | grep 9092
常见测试相关配置:
broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://你的IP:9092
zookeeper.connect=localhost:2181
log.dirs=/var/lib/kafka/logs
⚠️ 如果 advertised.listeners 配错,远程无法连接。
修改后重启:
systemctl restart kafka
Kafka 自带测试工具在:
cd /opt/kafka/bin # 或 /usr/share/kafka/bin
./kafka-topics.sh \
--create \
--bootstrap-server localhost:9092 \
--replication-factor 1 \
--partitions 1 \
--topic test-topic
查看是否创建成功:
./kafka-topics.sh --list --bootstrap-server localhost:9092
./kafka-console-producer.sh \
--bootstrap-server localhost:9092 \
--topic test-topic
输入任意内容,例如:
hello kafka
debian test
另开一个终端:
./kafka-console-consumer.sh \
--bootstrap-server localhost:9092 \
--topic test-topic \
--from-beginning
✅ 如果能看到刚才发送的消息,说明配置基本正确。
在另一台机器:
./kafka-console-producer.sh \
--bootstrap-server Debian_IP:9092 \
--topic test-topic
如果失败,通常是:
Debian 防火墙示例:
ufw allow 9092
./kafka-producer-perf-test.sh \
--topic test-topic \
--num-records 100000 \
--record-size 1024 \
--throughput 2000 \
--producer-props bootstrap.servers=localhost:9092
./kafka-consumer-perf-test.sh \
--bootstrap-server localhost:9092 \
--topic test-topic \
--messages 100000
kafka-topics.sh --describe --topic test-topic --bootstrap-server localhost:9092
tail -f /var/log/kafka/server.log
如果你愿意,可以告诉我:
我可以给你针对你环境的精确测试命令。