問題:
情況一:創建topic成功,但是produce的時候,卻報unknown partition的錯誤,但zk上卻顯示了每個partition的leader信息;
情況二: 給某個topic增加分區,zk顯示已有增加的分區信息,但是依舊報找不到新增加的分區信息錯誤
原因:多個controller,導致元數據不一致;
解決辦法:
1. zk上找到最新的controller
2. 將其余幾個過期的controller重啟
原因分析:controller進行Full GC停頓時間太長超過zookeeper session timeout,導致kafka誤以為controller已經掛掉,於是進行新一輪的controller選舉。
當舊的controller重新恢復后,還在進行controller的邏輯。因此會出現多個controller的情況