RegionServer与OOM不得不说的一些事儿

当RegionServer进程因OOM挂掉时,可能是主动或被动kill。主动情况通常是由于应用不当导致,如插入超大cell,需要优化HBase操作。被动情况则可能是操作系统内存不足,需要检查内存分配。主动kill时,JVM会执行killparent.sh脚本;被动kill可在Linux message日志中找到线索。解决方法包括调整内存设置和优化应用操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RegionServer进程运行中,可能会突然挂掉,RegionServer日志中看不到任何错误提示,也不会生成hs_err_pid.log之类的提示。相信许多同学遭遇过这种场景,此时,你应该想到罪魁祸首是OOM(OutOfMemory)。

对于OOM问题,我认为首要问题是:搞清楚RegionServer是被主动还是被动kill的?

1. 先说说何为主动和被动?

主动是指:如果RegionServer发现自己OOM,则自身主动请求去被kill;被动是指:RegionServer没有OOM,但是操作系统内存不够用了,于是OS会选择kill一些进程,那么内存大户RegionServer就可能被动的kill了。

2. 再说说为何要区分主动和被动?

如果是主动,那就说明是RegionServer方的原因。但是,你应该明白绝大部分是因为使用不当hbase引起的,而不是RegionServer的bug之类的问题。比如:应用中put一个超大的cell可能引发OOM(我在测试中就这么搞过......)。所以,你接下来的任务就是如何优化操作hbase的应用了。

如果是被动,说明机器中存在其它内存大户。此时,你需要考虑内存划分是否合理。如何合理,那就是某些应用的内存使用存在问题,这个更需要你来好好寻找了。比如在我遭遇的OOM场景下,就是这种情况,详细过程可以参考另一篇博文:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值