1、某一天出現Kafka堆積大量未消費的記錄:
2、該主題是用logstash進行消費的,然后查詢logstash的日志(logstash/logs/logstash-plain.log),出現以下提示信息:
3、從上述日志可以看出,是輸出到elasticsearch阻塞了,原因是相應的索引變成read-only了,無法寫入數據,隨即查詢elasticSearch的監控狀態,發現3個節點的disk都滿了(下圖有2個是我清空后截圖的):
4、最后查找到,是因為磁盤滿了,所以變成了read-only了,導致無法寫入數據,最終導致kafka出現大量積壓未消費的記錄。
解決方案:
5、在kibana中,通過命令設置read_only_allow_delete屬性為false。
PUT _settings { "index": { "blocks": { "read_only_allow_delete": "false" } } }
6、在看logstash的日志,發現已經沒有那個錯誤,可以正常消費kafka了。