我无法删除/重新分配/对没有领导者的主题进行任何更改
重现:
- 使用ReplicationFactor = 1
创建主题- 关闭唯一一个经纪人主持人
- 使用kafka-topic --delete删除主题
- 删除过程永远不会结束(我等了6个多月,而且开始受伤了)
醇>
描述主题
Topic:topic_73 PartitionCount:1 ReplicationFactor:1
Configs:unclean.leader.election.enable=true
Topic: topic_73 Partition: 0 Leader: -1 Replicas: 755 Isr:
经纪人755永远不会回去 我该如何解决这个问题?
答案 0 :(得分:0)
您可以尝试使用此脚本清除zookeeper中的元数据,并直接删除kafka日志。
./clear.sh /path-to-kafka-logs sampletopic /path-to-kafka-bin-dir
clear.sh内容如下:
#!/bin/bash
# this script is for the situation that leader is set to -1 and there is no ISR
ZK_HOST=`hostname`
ROOT_DIR=$1
TOPIC=$2
KAFKA_LOG_DIR=$3
# make sure kafka service is stopped while running this
rm -rf ${KAFKA_LOG_DIR}/${TOPIC}*
${ROOT_DIR}/kafka/bin/kafka-topics.sh --zookeeper ${ZK_HOST}:2181 --topic ${TOPIC} --delete
${ROOT_DIR}/kafka/bin/zookeeper-shell.sh ${ZK_HOST}:2181 rmr /brokers/topics/${TOPIC}
${ROOT_DIR}/kafka/bin/zookeeper-shell.sh ${ZK_HOST}:2181 rmr /admin/delete_topics/${TOPIC}
在使用之前确保chmod +x clear.sh
。