1.之前是要等待zookeeper启动一会再启动
2.甚至有的时候诡异到第一遍会挂,第二遍不会
3.这次遇到不管隔多久重启都无用,如下
kafka.common.InconsistentClusterIdException: The Cluster ID -10JPhJZRb64cOookMaSHA doesn't match stored clusterId Some(xgr8_xgpTiG8GUZZzUUt5Q) in meta.properties.
Kafka 之前运行过,残留了旧的集群元数据(meta.properties),与当前集群 ID 不匹配。
-
之前有一个 Kafka 实例连接到了同一个 Zookeeper
-
或者
/tmp/kafka-logs目录下残留了旧的meta.properties文件
运行下面修复脚本
bash
#!/bin/bash
cd /export/server/kafka
echo "=== 1. 停止所有服务 ==="
pkill -9 QuorumPeerMain 2>/dev/null
pkill -9 Kafka 2>/dev/null
sleep 2
echo "=== 2. 清理数据目录 ==="
LOG_DIR=$(grep "^log.dirs" config/server.properties | cut -d'=' -f2)
if [ -z "$LOG_DIR" ]; then
LOG_DIR="/tmp/kafka-logs"
fi
echo "清理目录: $LOG_DIR"
rm -rf $LOG_DIR
rm -rf /tmp/zookeeper
echo "=== 3. 启动 Zookeeper ==="
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
sleep 10
echo "=== 4. 启动 Kafka ==="
bin/kafka-server-start.sh -daemon config/server.properties
sleep 5
echo "=== 5. 验证 ==="
jps | grep -E "Kafka|QuorumPeerMain"
netstat -tlnp | grep -E "2181|9092"
echo "=== 6. 测试 ==="
bin/kafka-topics.sh --list --bootstrap-server localhost:9092