问题描述:一个hbase集群出现数据倾斜,并且服务器经常会宕机
问题解决:登录60010界面查看region的分布情况,发现region分布不均衡
同时Regions in Transiton报如下问题:
重启master server 问题依旧
执行assign 'REGIONNAME'命令后问题依旧
同时查看该region所在regionserver的信息发现报如下错误
发现是有一个phoenix表的那个region一直加载不了,确定我们没有用到phoenix,找到该region的editlog删除掉后重新assign,就不报Regions in Transition信息了
过一会查看region分布情况如下,region分布算是均衡了
查看dn列表
发现还是有些服务器的数据还是比较多,找出存储较大的表,并且查看这些表的region大小,发现数据还算均衡
对这些大表执行major_compact过段时间看dn列表中的数据情况发现有所缓解
总结:数据不均衡的问题主要是有一个phoenix表的那个region一直加载不了,导致hbase balancer启动不了,phoenix版本和hbase不适配还会造成服务器偶尔宕机,经过删除有问题region的editlog,重新assign可恢复,同时每天晚上对一些大表进行major_compact可以缓解数据倾斜的情况