一个HBase的RegionServer异常重启案例

举报
Pan-Xing 发表于 2023/01/03 17:23:17 2023/01/03
【摘要】 问题现象HBase集群RegionServer实例偶现重启。分析过程1.查看RegionServer的运行日志hbase-omm-regionserver-DataNode05.log,找到重启时间点的日志,发现只有实例启动的记录,并无收获;2.查看RegionServer的健康检查日志hbase.log,也无更多信息;3.查看nodeagent的日志,里面只有RegionServer被no...

问题现象

HBase集群RegionServer实例偶现重启。

分析过程

1.查看RegionServer的运行日志hbase-omm-regionserver-DataNode05.log,找到重启时间点的日志,发现只有实例启动的记录,并无收获;

2.查看RegionServer的健康检查日志hbase.log,也无更多信息;

3.查看nodeagent的日志,里面只有RegionServer被nodeagent拉起的记录;

4.通过以上信息,怀疑RegionServer进程的停止可能不是自身的问题,更像是被动的被杀死了;

5.查看messages,果然发现有进程被杀死的记录;

6.RegionServer重新启动会更新GC日志,以新的pid命名,查看RegionServer的GC日志名称,确定被OOM killer杀掉的进程确实为RegionServer;

7.通过messages日志看,应当是系统内存不足,Linux启动了自我保护机制,将RegionServer进程给kill掉了;

8.查看\osinfo\statistics\vmstat.txt日志,确定在异常时间点,系统内存不足;

9.查看\osinfo\statistics\loadavg.txt日志,发现在异常时间点附近,系统的负载骤然升高;

10.查看集群上RegionServer的重启记录,发现虽然重启的日期不固定,但是重启的时间点却都在03:36这个时间点,因此怀疑在这个时间点,节点上应该有其他任务再跑,导致系统负载升高,内存占用增大,使得系统杀死了RegionServer进程,之后nodeagent又将进程给重启启动。

关于OOM Killer

内核采用一种过度分配内存(over-commit memory)的办法来,提高整体内存的使用效率。
OOM Killer,一个保护机制,用于避免在内存不足的时候不至于出现严重问题,把一些进程杀掉,释放内存以保证系统正常运行。
挑选的过程由 oom_badness() 决定,这个算法的作用是挑选出当前时间点内存占用最大的进程。
系统负载升高,使内存不足,启动了OOM Killer,而RegionServer作为数据节点上的内存大户,很容易躺枪被系统停掉。
【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。