hbase请求耗时排查

文章描述了一次解决HBase服务超时的问题,主要集中在HBase备集群无法处理增加的请求量,尤其是scan操作导致的延迟。通过分析,发现是由于频繁扫描hbase:meta表来检查表是否存在导致的。修改代码去除这个检查后,服务性能恢复,平均耗时降低至20ms。
摘要由CSDN通过智能技术生成

  2023年一月份新年放假前一周合作客户某征信行出现请求hbase平均耗时300ms,出现大量请求hbase超时,接口是客户对外提供实时服务的,对于这样的情况客户是不能接受的。现场的同事需要我们支持下,出差客户公司。

   首先了解下集群最近是否调用量增多,查看监控请求是平时的几倍,了解是些大机构在调,最近hbase集群数据刚更新,切换到备集群服务。现在请求量一上来hbase备集群完全不能提供服务,主集群提供服务也会出现请求量上来大量超时。

   数据更新刚好一周,怀疑是不是major合并造成的,查看hbase日志有major日志,系统负载正常,hbase日志连warn日志都没有,观察了一段时间请求还是超时。查看hbase监控读请求量几十万,而在hbase master ui上请求量只有几千,分配也不均衡大部分分布在hbase:meta所在服务器上,查看应用请求错误日志,发现错误堆栈是在做scan,抛出异常代码为判断表是否存在tableExists。hbase查询数据是先要查询hbase:meta表的获取数据所在regionserver 和region信息,一般hbase client创建连接几个请求下来hbase:meta都会缓存到本地不会频繁的去scan hbase:meta。hbase client 判断表是否存在里会每次都scan hbase:meta表来判断表是否存在。修改程序代码去掉每次请求都判断表是否存在,重新上线恢复正常。hbase 耗时平均耗时20ms

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值