最近写入程序经常出现写入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("响应关闭失败");
}
}
问题:
之前也没有关闭连接,但程序运行正常。推测资源或某个配置与连接是否需要关闭有关,待进一步验证。