温馨提示×

如何检查Debian的Kafka

小樊
43
2026-07-23 16:08:44
栏目: 智能运维

在 Debian 系统上检查 Kafka 是否正常运行,一般可以从 进程、端口、日志、Kafka 自带工具 几个方面入手。下面按常用顺序给你一个完整检查清单。


一、确认 Kafka 进程是否在运行

1️⃣ 使用 ps 查看

ps aux | grep kafka

正常情况会看到类似:

java ... kafka.Kafka ...

如果什么都没有,说明 Kafka 没启动。


2️⃣ 使用 systemctl(如果是 systemd 管理)

如果你是用 systemd 安装的:

systemctl status kafka

systemctl status kafka-server

✅ 正常运行应显示 active (running)

启动 / 停止 / 重启:

sudo systemctl start kafka
sudo systemctl stop kafka
sudo systemctl restart kafka

二、检查 Kafka 使用的端口

Kafka 默认使用 9092 端口。

1️⃣ 查看端口监听

ss -lntp | grep 9092

netstat -lntp | grep 9092

✅ 看到 LISTEN 说明 Kafka 正在监听端口。


2️⃣ 检查防火墙(如果有)

iptables -L -n

或(ufw):

ufw status

确保 9092 没有被拦截。


三、查看 Kafka 日志(非常重要)

Kafka 日志位置取决于安装方式。

常见路径

/opt/kafka/logs/

/var/log/kafka/

查看最新日志:

tail -f /opt/kafka/logs/server.log

✅ 正常日志示例:

[KafkaServer id=0] started

❌ 常见错误:

  • Address already in use(端口被占用)
  • java.net.UnknownHostException(hostname 配置问题)
  • Broker id already exists(Zookeeper 残留)

四、检查 Zookeeper(Kafka 依赖)

Kafka 2.x 及以前版本依赖 Zookeeper

1️⃣ Zookeeper 是否在运行

ps aux | grep zookeeper

systemctl status zookeeper

2️⃣ Zookeeper 端口(默认 2181)

ss -lntp | grep 2181

五、使用 Kafka 自带工具验证

进入 Kafka 目录(示例):

cd /opt/kafka

1️⃣ 查看 Kafka 是否可连接

bin/kafka-broker-api-versions.sh --bootstrap-server localhost:9092

✅ 正常会返回 Kafka 版本信息。


2️⃣ 查看 Topic 列表

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

3️⃣ 创建测试 Topic

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

4️⃣ 发送 & 消费消息测试

生产者:

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

消费者(新终端):

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

✅ 能收发消息说明 Kafka 完全正常。


六、检查配置文件

Kafka 配置:

/opt/kafka/config/server.properties

重点检查:

broker.id=0
listeners=PLAINTEXT://localhost:9092
log.dirs=/tmp/kafka-logs
zookeeper.connect=localhost:2181

⚠️ 如果 Kafka 在远程访问,需要:

listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://<服务器IP>:9092

七、快速自检总结(推荐顺序)

ps aux | grep kafka
ss -lntp | grep 9092
tail -f /opt/kafka/logs/server.log
bin/kafka-broker-api-versions.sh --bootstrap-server localhost:9092

如果你愿意,可以告诉我:

  • Kafka 版本
  • 裸机 / Docker / systemd 安装
  • 报错日志内容

我可以帮你精准定位问题 ✅

0