最近寫入程序經常出現寫入tsdb卡死問題,經過比較久排查後解決,這裏記錄下。對我個人而言加深了spark程序和yarn資源管理關係的認知。
問題描述:
最近經常出現加載程序在運行中卡死,程序不再處理新的數據,其中沒有任何報錯日誌,在UI裏看到爲straming流卡死。
最初懷疑爲tsdb資源問題,在調整後仍出現這個問題
最後發現是代碼問題。在http請求後沒有關連接。
即在post請求的finally關閉response連接
/**
* 關閉response
*
* @param response CloseableHttpResponse
*/
private static void closeResponse(CloseableHttpResponse response) {
try {
if (null != response) {
response.close();
}
} catch (Exception e) {
LOGGER.error("響應關閉失敗");
}
}
問題:
之前也沒有關閉連接,但程序運行正常。推測資源或某個配置與連接是否需要關閉有關,待進一步驗證。