温馨提示×

Linux下Kafka怎么重启

小樊
45
2026-08-17 03:23:01
栏目: 智能运维

在 Linux 下重启 Kafka,通常分为 停止 → 启动 两步。下面按最常见、最稳妥的方式说明(假设你是用 Kafka 自带脚本 + ZookeeperKRaft 模式)。


一、先确认 Kafka 安装目录

一般类似:

/opt/kafka
/usr/local/kafka

下面以 KAFKA_HOME=/opt/kafka 为例。


二、Kafka + Zookeeper 模式(最常见)

1️⃣ 停止 Kafka

cd /opt/kafka
bin/kafka-server-stop.sh

如果脚本无效,可强制杀进程:

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

✅ 建议先优雅停止,再强制。


2️⃣ 停止 Zookeeper(如果 Kafka 依赖它)

cd /opt/kafka
bin/zookeeper-server-stop.sh

或:

ps -ef | grep zookeeper
kill -9 <pid>

3️⃣ 启动 Zookeeper

cd /opt/kafka
nohup bin/zookeeper-server-start.sh config/zookeeper.properties > zookeeper.log 2>&1 &

4️⃣ 启动 Kafka

nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &

5️⃣ 检查是否启动成功

jps

应看到:

QuorumPeerMain   # Zookeeper
Kafka

或:

netstat -tunlp | grep 9092

三、KRaft 模式(无 Zookeeper,Kafka 3.x+)

1️⃣ 停止 Kafka

bin/kafka-server-stop.sh

或:

kill -9 <pid>

2️⃣ 启动 Kafka

nohup bin/kafka-server-start.sh config/kraft/server.properties > kafka.log 2>&1 &

四、用 systemd 管理(生产环境推荐 ✅)

如果你已经配置了 systemd:

重启 Kafka

sudo systemctl restart kafka

重启 Zookeeper

sudo systemctl restart zookeeper

查看状态

systemctl status kafka
systemctl status zookeeper

五、常见注意事项 ⚠️

  1. 不要频繁重启
    • Kafka 重启会触发 leader 切换
  2. 先停 Kafka,再停 Zookeeper
  3. 确认数据目录没被误删
    log.dirs=/data/kafka-logs
    
  4. 生产环境建议滚动重启(一台一台来)

六、快速总结(最常用)

# 停止
bin/kafka-server-stop.sh
bin/zookeeper-server-stop.sh

# 启动
nohup bin/zookeeper-server-start.sh config/zookeeper.properties &
nohup bin/kafka-server-start.sh config/server.properties &

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

  • Kafka 版本
  • 是否用 Zookeeper
  • 是否是生产环境

我可以给你一套最合适、最安全的重启方案

0