计算机系统应用教程网站

网站首页 > 技术文章 正文

HiveServer2无法正常full gc hive error10011

btikc 2024-10-12 10:57:23 技术文章 7 ℃ 0 评论

hive版本是hive 3.1.2

生产上突然发现Hiveserver2响应有问题,通过jstat查看hiveserver2的gc情况,发现hiveserver2一直在full gc,然而老年代却一直无法正常回收掉。于是通过jmap dump出堆信息,然后通过mat工具分析堆文件,得到相应的分析报告

jstat查看gc情况

jstat -gcutil 17036 1000

dump文件

jmap -F -dump:format=b,file=hs2_heapdump.hprof-2021-09-15 17036 &

mat工具分析(注意如果内存不够需要加大)

sh ParseHeapDump.sh /var/log/hive/hs2_heapdump.hprof-2021-09-15 org.eclipse.mat.api:suspects org.eclipse.mat.api:overview org.eclipse.mat.api:top_components &

通过mat工具分析之后得到如下3个压缩文件,把这3个压缩文件从服务器拷贝下来在本地解压,然后用浏览器打开查看分析情况

打开hs2_heapdump_Leak_Suspects.zip的解压网页,我们看到如下报告

我们查看详细信息

我们看到是OperationManager类里的queryIdOperation对象导致,该对象是一个ConcurrentHashMap集合,那么就是该集合没有正常移除每次得查询信息导致的,我们到官网查找是否当前有这个解决的patch,通过查找发现刚好有HIVE-22275解决此问题,于是打上该patch进行观察

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表