1 简介
HBase系统中主要有两类服务进程:Master进程以及RegionServer进程。Master主要负责集群管理调度,在实际生产线上并没有非常大的压力,因此发生软件层面故障的概率非常低。RegionServer主要负责用户的读写服务,进程中包含很多缓存组件以及与HDFS交互的组件,实际生产线上往往会有非常大的压力,进而造成的软件层面故障会比较多。
- Full GC异常:长时间的Full GC是导致RegionServer宕机的最主要原因,据不完全统计,80%以上的宕机原因都和JVM Full GC有关。导致JVM发生Full GC的原因有很多:HBase对于Java堆内内存管理的不完善,HBase未合理使用堆外内存,JVM启动参数设置不合理,业务写入或读取吞吐量太大,写入读取字段太大,等等。其中部分原因要归结于HBase系统本身,另一部分原因和用户业务以及HBase相关配置有关。
- HDFS异常:RegionServer写入读取数据都是直接操作HDFS的,如果HDFS发生异常会导致RegionServer直接宕机。
- 机器宕机:物理节点直接宕机也是导致RegionServer进程挂掉的一个重要原因。通常情况下,物理机直接宕机的情况相对比较少,但虚拟云主机发生宕机的频率比较高。很多公司会将HBase系统部署在虚拟云环境,因为种种原因发生机器宕机的情况相