druid遇坑記(1)

將我遇到的坑簡單記錄一下~~~~~~~~~~~~~~~~~
1、程序報 Empty List or intervals
報這個錯肯定就是你的intervals設置的有問題,看一下你設置的intervals下面有沒有這個文件,一般都是沒有這個文件造成的
2、程序報io異常,segmentDescriptorInfo does not exist
在這裏插入圖片描述 一般遇到這種問題就是你的json文件中的intervals設置的範圍是錯誤的,導致在查數據的數據並沒有拿到數據,所以就會報segmentDescriptorInfo does not exist
解決辦法:1、打印出intervals看具體設置的intervals範圍爲多少
2、如果是csv|tsv|json離線文件,打印出文件路徑看一下有沒有該文件
3、看一下timestampSpec設置的column是不是具體的時間字段,看看該時間字段下有沒有intervals範圍內的數據
3、mr程序執行成功了,但是去查druid發現並沒有數據
一般這種情況下都是由於druid的內存不足導致,因爲當mr程序執行成功以後,會生成多個segment,但是druid沒有內存,導致segment無法生成,只能等到有數據刪除以後,內存釋放,或者增加內存以後寫入進去,然後就能在druid中查詢到數據
4、一般排查druid問題的流程
1、首先看task有沒有提交成功
在這裏插入圖片描述看有沒有task生成
2、去druid界面https://xxx:8888/console.html,這個界面一般代表mr是否執行成功了
在這裏插入圖片描述看一下狀態是否成功,如果是失敗的話點擊log(all)看一下有沒有日誌,如果有,看日誌找問題即可,如果沒有,則需要去查看druid所在服務器的current文件通過關鍵字過濾出錯誤日誌去查看問題
3、如果是成功狀態,去https://xxx:8888/unified-console.html#datasources查看segment是否成功了
在這裏插入圖片描述 如果segment是成功的,那直接去druid界面查就是有數據,如果segment沒有成功,大概率就是內存問題了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章