一. 故障原因:
同事晚上收到服务器告警,其中OS磁盘被占用到85%(500G),查找整个OS盘下的文件占用量也没有找到占用几十几百G的大文件,其中先找到了十几个5G多的文件清理掉后,解决磁盘告警的问题,第二天同事反馈到我这里,让我排查一下原因.
二.排查思路
1.inode小文件,查看存在的并不多
2.查看删除未释放的文件,发现有非常多调度系统中的UDF函数调用的未释放(大约有6W多)
losf | grep deleted
三.临时解决方案
进入CDH重启HiveServer2服务
四.永久解决方案
1.进入hive配置中,搜hive-site—>HiveServer2高级配置代码段,点开以XML格式查看,复制以下代码即可
hive.server2.session.check.interval 3000
hive.server2.idle.session.timeout 0
hive.server2.idle.operation.timeout 0
2.重启HiveServer2的服务后,重新调度,问题解决.
总结:
出现以上原因是因为每次调度的时候会拉起一次UDF函数,但是拉起后未释放,这个需要配置HiveServer2的连接超时才可以针对每次拉起后UDF函数进行释放一次.
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.e1idc.net