怎样使Ambari中的Hive Service输出Java dump文件

怎样使Ambari中的Hive Service输出Java dump文件

1,选择 “Hive”

2,点击“Configs”选项卡

3,滚动屏幕,选择“Advanced hive-env”, 在hive-env template 字段 注释原来的“export HADOOP_CLIENT_OPTS="-Xmx${HADOOP_HEAPSIZE}m $HADOOP_CLIENT_OPTS"

修改如下:

#export HADOOP_CLIENT_OPTS="-Xmx${HADOOP_HEAPSIZE}m $HADOOP_CLIENT_OPTS"

export HADOOP_CLIENT_OPTS="-Xmx${HADOOP_HEAPSIZE}m -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Xloggc:/var/log/hive/gc.hiveserver2.log-`date +'%Y%m%d%H%M%S'` -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/hive -XX:+DisableExplicitGC -XX:+UseCompressedOops $HADOOP_CLIENT_OPTS"

修改完成后,保存设置,需要重新启动 Hive 才会使新的配置生效。

这样在 Hive Server所在的主机上,可以在/var/log/hive 目录找到相应的log 文件,如果,outofmemory error 发生,将会生成文件名为:java_pidxxxxx.hprof,xxxxx为java的进程id。

此文件会比较大,可以使用 JDK 自带的分析工具分析\jdk1.7.0_79\bin\jvisualvm.exe。

也可以使用,IBM HeapAnalyzer 分析:https://www.ibm.com/developerworks/community/groups/service/html/communityview?communityUuid=4544bafe-c7a2-455f-9d43-eb866ea60091

 

原文地址:https://www.cnblogs.com/riyueyuzhuzhu/p/5584802.html