記一次Kafka 消費 轉存 ES

2021-09-28 22:06:48 字數 490 閱讀 5156

前提:流程是消費kafka資料,處理後存入es

基礎引數:1、es 3個節點 索引20個分片 ,1個副本;

2、kafka 3個節點,12個 分割槽

出現的問題有:

1、多執行緒消費kafka,無限重新分配rebalance,消費異常,資料無法消費處理至es

實際情況:

1、當資料量達到20億條後(doc總大小已超過500g), es寫入效能急劇降低(查詢效能也有所變緩),資料處理時間變長,導致kafka消費者rebalance,減少單次poll條數、增加poll間隔不能奏效。

2、資料處理時最占用記憶體的是 訊息的反序列化,採用fastjson和gson 如果設定記憶體不是很大會堆記憶體溢位,最好採用jackson進行反序列化。

3、**不夠簡潔,產生大量物件,cg較頻繁

處理方式:

1、檢視es磁碟占用比率,達到佔比接近85,需進行擴容

2、轉移es過期資料,另外儲存

3、優化es寫入程式**

記一次Flink消費kafka資料恢復機制

現在我有乙個資料架構 flink消費kafka,開啟windows視窗聚合存es。某天的晚上flink掛機,未加報警機制,3小時後才發現。如何才能把丟失的kafka資料補充回來?1 setstartfromlatest 從最後乙個kafka offset開始消費 2 setstartfromgrou...

記一次解決MQ不消費問題

mq不消費,mq執行緒全部處於等待狀態 專案重啟之後問題解決 jvm記憶體狀態正常 fullgc時間持續加長 cpu 100 查詢專案程序中所有的執行緒資訊,檢視是否有死鎖 檢視例項程序 tomcat的話bootstrap那個就是,springboot專案看啟動類名 jps 檢視程序狀態 產看是否有...

一次es遷移

在開發乙個專案中,有大量的需要處理,並能夠進行搜尋。於是,在es中建立兩個索引,raw和labeled,raw存放爬蟲獲取的原始,暫時是運營人員來給這些未經篩選的打上標記,後續會引導產品的使用者去給標記。標記後將進入labeled索引,後續的搜素主要圍繞labeled來展開。在開發時,將es搭建在單...