测试环境hbase集群异常
集群共三台主机,两个数据节点,hbase共有两个regionserver
1)存在的问题
8月6日晚九点半,测试集群两个regionserver同时异常,hbase除了list以外的操作都不能执行,观察master和regionserver的日志,都出现了如下报错:
![](https://img2022.cnblogs.com/blog/2599613/202202/2599613-20220226145126720-351522079.png)
![](https://img2022.cnblogs.com/blog/2599613/202202/2599613-20220226145127744-411115116.png)
(2)分析过程
从日志中暂时未分析出具体原因,决定先重启,重启后,hbase恢复正常,hbck状态一致。
过了大概一个小时,hbase又挂了1个regionserver,hbase又无法操作,日志内容报错还是一样的。
怀疑是zookeeper或者hdfs有问题,均排查无误,整个集群全部重启,hbase还是正常了一个小时后就异常,随后查看监控页面,发现hbase的region数达到一万二,每个regionserver承担6000个region,怀疑是region数过多导致hbase异常。
(3)解决办法
对数据进行清理,重启hbase后,恢复正常
![](https://img2022.cnblogs.com/blog/2599613/202202/2599613-20220226145309435-1909445572.png)
(4)原因总结
由于业务测试时直接拿生产的建表语句建表,生产建表语句均做了region预划分,每张表有很多region,而实际上数据量却很小,将业务不用的表、过期的表全部清理,将region总数降到1000后,重启hbase,恢复正常