Inpector Server的hive-server2.log常用查看命令

  问题信息收集
内容纲要

常用命令

1. 查看gc

Inceptor server没有单独的GC日志文件,GC的信息混在hive-server2.log里面;GC的信息是通过leviathan输出的,每分钟一次。

  • 如果间隔超过了1分钟,中间肯定发生了比较严重的GC;
  • gcTime计算, gcTime是累积的时间,两个相减就是期间的GC总时间;
  • 如果gc的count发生重置了,代表inceptor server发生过重启

    file

# 进入到inceptor日志目录,接下来的命令默认在此目录下执行
cd /var/log/inceptor1
# 下面这个命令可以查找2021年20号-21号期间,inceptor的gc情况,并重定向输出到 /tmp/gc.log
find ./ -name 'hive-server2.log*' -newermt '2021-12-20 00:00:00' ! -newermt '2021-12-21 00:00:00' -exec grep -a 'JVM heap gc status:' {} \; > /tmp/gc.log

2. 查看一段时间内的job数,可以观察并发

# 查看2021年20号-21号期间start了多少job
find ./ -name 'hive-server2.log*' -newermt '2021-12-20 00:00:00' ! -newermt '2021-12-21 00:00:00' -exec grep -a "Starting job" {} \; | wc -l
# 查看2021年20号-21号期间finish了多少job
find ./ -name 'hive-server2.log*' -newermt '2021-12-20 00:00:00' ! -newermt '2021-12-21 00:00:00' -exec grep -a "Job finished" {} \; | wc -l
# 替换如下关键字可以查看task的情况
# Starting task
# Finished task

3. 查看执行时间在100~1000s的task,可以找出耗时比较久的任务

grep -a "Finished task" ./hive-server2.log* | grep -E "in [0-9]{6} ms" | wc

4. 查看每个executor上执行的task情况

# 查看每个executor finish了多少task
grep -a "Finished task" ./hive-server2.log* | grep -oE "on [0-9\.]+" | sort |uniq -cd
# 查看每个executor start了多少task
grep -a "Starting task" ./hive-server2.log* | grep -oE "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"| sort | uniq -cd

5. 查看并发session数

# 查看2021年20号-21号期间并发的session
find ./ -name 'hive-server2.log*' -newermt '2021-12-20 00:00:00' ! -newermt '2021-12-21 00:00:00' -exec grep -ai "Starting command" {} \; | grep -oE "Thread-[0-9]{1,10}" | sort | uniq -cd | wc -l

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。