温馨提示×

Linux Kafka如何停止

小樊
40
2026-07-18 03:33:26
栏目: 智能运维

在 Linux 上停止 Kafka(通常指 Apache Kafka),一般有两种常见场景:正常停止强制停止。下面按推荐顺序说明。


一、正常停止 Kafka(推荐)

1️⃣ 停止 Kafka Broker(服务方式)

如果你是通过 systemd 安装的 Kafka:

sudo systemctl stop kafka

查看状态:

sudo systemctl status kafka

2️⃣ 停止 Kafka Broker(手动启动方式)

如果是直接用 Kafka 自带脚本启动的:

cd /opt/kafka   # Kafka 安装目录
bin/kafka-server-stop.sh

或者(老版本):

bin/kafka-server-stop.sh

如果脚本没生效,可以用:

kill -TERM $(ps -ef | grep kafka | grep -v grep | awk '{print $2}')

不要用 -9,否则可能丢数据或无法优雅关闭。


二、先停 Kafka,再停 Zookeeper(很重要)

Kafka 依赖 Zookeeper(旧版本),一定要先停 Kafka,再停 Zookeeper

停止 Zookeeper

sudo systemctl stop zookeeper

或手动:

bin/zookeeper-server-stop.sh

三、强制停止(不推荐)

仅在 Kafka 卡死或无响应时使用:

ps -ef | grep kafka
kill -9 <PID>

⚠️ 风险:

  • 可能丢失未刷盘数据
  • 可能导致 controller / replica 异常

四、确认 Kafka 已停止

ps -ef | grep kafka

或:

ss -lntp | grep 9092

五、KRaft 模式(无 Zookeeper)

如果是 Kafka 3.x + KRaft 模式

停止方式相同:

bin/kafka-server-stop.sh

或:

kill -TERM <PID>

六、建议的停止顺序 ✅

1. 停止 Kafka Broker
2. 停止 Zookeeper(如有)

启动顺序是反过来的:

Zookeeper → Kafka

如果你不确定:

  • Kafka 版本
  • 是否使用 systemd
  • 是否是 KRaft 模式

可以把下面命令的输出发我,我可以给你精确命令

0