糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > 哪些原因可能会导致 HBase 的 RegionServer 宕机?

哪些原因可能会导致 HBase 的 RegionServer 宕机?

时间:2024-04-16 10:44:43

相关推荐

哪些原因可能会导致 HBase 的 RegionServer 宕机?

前言

本文隶属于专栏《大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢!

本专栏目录结构和参考文献请见大数据技术体系

正文

HBase 系统中主要有两类服务进程: Master 进程以及 RegionServer 进程。

Master 主要负责集群管理调度,在实际生产线上并没有非常大的压力,因此发生软件层面故障的概率非常低。

RegionServer 主要负责用户的读写服务,进程中包含很多缓存组件以及与 HDFS 交互的组件,实际生产线上往往会有非常大的压力,进而造成的软件层面故障会比较多。

下面,笔者总结了生产线上常见的一些可能导致 RegionServer 宕机的异常。

Full GC 异常

长时间的 Full GC 是导致 RegionServer 宕机的最主要原因,据不完全统计, 80 %以上的宕机原因都和 JVM Full GC 有关。

导致 JVM 发生 FullGC 的原因有很多:

HBase 对于 Java 堆内内存管理的不完善HBase 未合理使用堆外内存JVM 启动参数设置不合理业务写入或读取吞吐量太大写入读取字段太大等等。

其中部分原因要归结于 HBase 系统本身,另一部分原因和用户业务以及 HBase 相关配置有关。

HDFS 异常

RegionServer 写入读取数据都是直接操作 HDFS 的,如果 HDFS 发生异常会导致 RegionServer 直接宕机。

机器宕机

物理节点直接宕机也是导致 RegionServer 进程挂掉的一个重要原因。

通常情况下,物理机直接宕机的情况相对比较少,但虚拟云主机发生宕机的频率比较高。

很多公司会将 HBase 系统部署在虚拟云环境,因为种种原因发生机器宕机的情况相对就会多一些。

网络环境不稳定其实也可以归属于这类。

HBase Bug

生产线上因为 HBase 系统本身 bug 导致 RegionServer 宕机的情况很少,但在之前的版本中有一个问题让笔者印象深刻: RegionServer 经常会因为耗尽了机器的端口资源而自行宕机,这个 bug 的表现是,随着时间的推移,处于 close wait 状态的端口越来越多,当超过机器的配置端口数(65535)时 RegionServer 进程就会被 kill 掉。

这类问题建议多关注 HBase 的 JIRA 主页——HBase JIRA

如果觉得《哪些原因可能会导致 HBase 的 RegionServer 宕机?》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。