破案了....

報(bào) not retrying deletion異常版本: kafka_2.11-2.0.0刪除前在執(zhí)行重分配,但是失敗了,強(qiáng)制停止數(shù)據(jù)遷移,手動(dòng)刪除了節(jié)點(diǎn) /admin/reassign_partitions再次重新刪除提示異常 Topic test is already marked for deletion所有Broker均在線 delete.topic.enable=true檢查了每個(gè)Broker都沒(méi)有副本被刪除,甚至也沒(méi)有被標(biāo)記為 --delete
not retrying deletionTopic test is already marked for deletion
kafka_2.11-2.0.0源碼,全局搜索關(guān)鍵字is already marked for deletion
/amin/delete_topics/{topicName}問(wèn)題在于為什么沒(méi)有執(zhí)行刪除呢?
所以下一個(gè)突破口就在于

通過(guò)源碼我們知道,出現(xiàn)了這個(gè)異常表示的是:
當(dāng)前這個(gè)topic不符合重試刪除的條件

在刪除隊(duì)列
topicsToBeDeleted里面;這個(gè)隊(duì)列是從zk節(jié)點(diǎn)/amin/delete_topics獲取的數(shù)據(jù)當(dāng)前還未開(kāi)始對(duì)該Topic進(jìn)行刪除; 判定條件是
沒(méi)有副本處于開(kāi)始刪除的狀態(tài)「ReplicaDeletionStarted」(當(dāng)然如果delete.topic.enable=false這條肯定滿(mǎn)足)主題沒(méi)有被標(biāo)記為不符合刪除條件; ?不符合刪除條件的都保存在
topicsIneligibleForDeletion
/amin/delete_topics節(jié)點(diǎn)下面有數(shù)據(jù), 線索排除讓對(duì)方查詢(xún)了 Deletion started for replicas這個(gè)日志,日志表示的是哪些副本狀態(tài)變更成「開(kāi)始刪除」 ,日志有查詢(xún)到如下
然后讓查詢(xún)Dead Replicas (%s) found for topic %s(這個(gè)表示的是哪些副本離線了) 也查詢(xún)到如下


從日志,和源碼我們可以得出,
Not retrying deletion of topic 的Dead Replicas (%s) found for topic %s 的日志可以得知,前面2個(gè)說(shuō)完了,接著說(shuō)一下topicsIneligibleForDeletion到底是什么,什么情況下才會(huì)放到這里面來(lái)呢?
Controller初始化的時(shí)候判斷條件
Tips: kafka_2.11-2.0.0?沒(méi)有這個(gè)步驟
數(shù)據(jù)正在遷移中 判斷數(shù)據(jù)是否在遷移中是通過(guò)判斷topic的是否存在要新增或者刪除的副本, 查詢(xún)
/brokers/topics/{topicName}節(jié)點(diǎn)中有沒(méi)有這兩個(gè)屬性值
topic副本所在Broker有宕機(jī)導(dǎo)致的副本不在線
副本所在的數(shù)據(jù)目錄
log.dirs存在脫機(jī)磁盤(pán)
發(fā)起的 StopReplica請(qǐng)求返回異常,加入不符合刪除條件刪除的過(guò)程中,發(fā)現(xiàn)該Topic 有副本重分配的操作則加入不符合刪除條件刪除的過(guò)程,有副本下線了,則加入不符合刪除條件 開(kāi)始執(zhí)行 副本重分配的操作, 則加入不符合刪除條件

確保 ? delete.topic.enable=true;配置文件查詢(xún)確保當(dāng)前該topic沒(méi)有進(jìn)行 「副本重分配」 , 查詢(xún)zk節(jié)點(diǎn) /admin/reassign_partitions的值是否有該topic、或者 節(jié)點(diǎn)/brokers/topics/{topicName}節(jié)點(diǎn)里面的屬性adding_replicas、removing_replicas有沒(méi)有值確保所有副本所屬Broker均在線 確保副本均在線, (Broker在線并且 log.dirs沒(méi)有脫機(jī)), 搜日志"Dead Replicas "關(guān)鍵字查詢(xún)到哪些副本異常


留下懸念, 下期再見(jiàn)!
往期推薦
2021-09-06
2021-08-30
2021-08-25

