温馨提示×

kafka在linux怎测试

小樊
38
2026-10-05 06:54:05
栏目: 智能运维

在 Linux 下测试 Kafka,通常分为 单机快速测试 和 生产级验证。下面给你一套最常用、可直接照做的方法。


一、前置条件

  1. 已安装:
    • JDK(建议 JDK 8+)
    • Kafka(自带 Zookeeper,Kafka 2.8+ 可不用 Zookeeper)
  2. 启动环境(以 Kafka 自带脚本为例)
# 进入 kafka 目录
cd /opt/kafka

# 启动 Zookeeper(老版本需要)
bin/zookeeper-server-start.sh config/zookeeper.properties

# 新开终端,启动 Kafka
bin/kafka-server-start.sh config/server.properties

二、最基础的 Kafka 测试(命令行)

1️⃣ 创建 Topic

bin/kafka-topics.sh \
  --create \
  --topic test-topic \
  --bootstrap-server localhost:9092 \
  --partitions 1 \
  --replication-factor 1

查看 Topic:

bin/kafka-topics.sh --list --bootstrap-server localhost:9092

2️⃣ 启动消费者(接收消息)

bin/kafka-console-consumer.sh \
  --topic test-topic \
  --bootstrap-server localhost:9092 \
  --from-beginning

3️⃣ 启动生产者(发送消息)

新开一个终端:

bin/kafka-console-producer.sh \
  --topic test-topic \
  --bootstrap-server localhost:9092

然后输入消息:

hello kafka
linux test

✅ 消费者终端应能实时收到消息


三、验证 Kafka 是否正常工作

查看 Topic 状态

bin/kafka-topics.sh --describe --topic test-topic --bootstrap-server localhost:9092

测试消费进度

bin/kafka-consumer-groups.sh \
  --describe \
  --group test-group \
  --bootstrap-server localhost:9092

四、用 Python 快速测试(可选)

生产者

from kafka import KafkaProducer

p = KafkaProducer(bootstrap_servers='localhost:9092')
p.send('test-topic', b'hello from python')
p.flush()

消费者

from kafka import KafkaConsumer

c = KafkaConsumer('test-topic', bootstrap_servers='localhost:9092')
for msg in c:
    print(msg.value)

五、常见问题排查

Kafka 起不来?

# 查看日志
tail -f logs/server.log

连接失败?

  • 检查 listeners=PLAINTEXT://localhost:9092
  • 防火墙:
firewall-cmd --list-ports

六、总结(最简测试流程)

启动 Kafka
→ 创建 Topic
→ 开消费者
→ 开生产者
→ 看消息是否收到

如果你告诉我:

  • Kafka 版本
  • 是否用 Docker
  • 是否集群

我可以给你更精确的测试方案。

0 踩