HBase一次慢查询请求的问题排查与解决过程

1. 发现问题

项目中有一张HBase表,每天凌晨以后会集中批量导入一批数据,导入数据量很大,在千万到亿的量级,然后白天为用户提供查询服务。某天突然发现, 该表按照各个region(共计256个)分别仅顺序scan少数几条数据时,部分region的查询请求的响应时间很慢,长达10秒甚至几十秒不等。

2. 排查问题

首先,通过查看HBase的region server监控界面,看到这张表的每个region下面只有1~3个StoreFile,排除了由于StoreFile过多导致查询响应慢的情况。

接着排查,发现这张表的TTL只有5天,因此到一定程度后会有大量过期数据存在。同时,由于这张表每天早上会导入一批数据(其中,发现问题的5天前那天曾集中导入了7亿多条记录),而集群的major compact周期配置是7天,虽然到当天时这部分数据已经过期了,但是由于还没有经过major compact触发清除所有过期的数据,因此,这个时间窗口内存在大量过期但尚未被清除的数据,导致即使按照各个region分别仅scan少数几条数据,仍需要过滤掉一大批过期的数据(从监控看到当时的Block Cache访问量比平时要高了一倍左右,如下图所示),才能扫到实际有用的数据,所以查询响应时间很慢。

3. 解决问题

针对这一问题,有以下两种解决方法:

1)每天早上导入数据后,强制触发一次major compact操作(见HBaseAdmin的majorCompct方法,异步执行),使得表中每个region中的过期数据可以被及时清除掉。

2)由于集群的major compact周期为7天,而表的TTL为5天,因此可以将major compact周期调小(配置参数为hbase.hregion.majorcompaction,单位为毫秒;同 时,hbase.offpeak.start.hour可以设置major compact启动的小时,例如,设置为1,可保证在1点后触发),从集群级别保证major compact尽早触发执行。

HBase最佳实践:来自生产环境的经验分享 HBase作为Hadoop生态中的分布式列存数据库,凭借高可靠、高并发、线性扩展的特性,成为电商、物流、IoT等行业存储海量数据的核心工具。写入突然变慢,排查发现是Region热点;范围查询超时,原来是RowKey设计“反人类”;集群频繁GC,MemStore溢写拖垮磁盘IO;数据量增长后,Region分裂得“乱七八糟”。本文结合10+个生产案例,从RowKey设计、Region管理、性能调优、故障排查四个核心维度,总结能直接落地的最佳实践。如何用“快递分拣逻辑”设计无热点的RowKey; 阅读详情

相关推荐

【ORB-SLAM3】使用安卓手机的摄像头运行ORB3

使用安卓手机的摄像头运行ORB-SLAM3单目

caiqidong321的博客 4996

HBase之Slow log

slow log

zincooo的博客 598

以GD32F103C8T6为例的核心板原理图PCB绘制学习笔记简单总结

重点在supplier part是立创商城的编号,可以搜到。

2301_80397661的博客 3266

Hbase慢请求常规排查流程

文章目录一、确定慢请求是否突然暴增二、慢请求暴增可能的因素1、系统繁忙导致的慢请求2、GC导致的慢请求3、系统故障导致的慢请求4、HDFS因素**三、系统负载高根因排查****1、CPU 持续飙高**2、IO负载持续打满3、导致 IO 负载升高的情况汇总**用户请求突增**Hbase在进行大量compact缓存命中率变低四、总结 一、确定慢请求是否突然暴增 查看RegionServer日志,搜索responseTooSlow,确认用户反馈的时间点是否出现慢请求。如果所有的RS在该时间点都没有明显的慢请求日志

u013332124的专栏 8809

Fortran基础编程(3)——格式化输出

本篇推文将进一步讲解Fortran基础语法中格式化输出与声明部分,让我们的代码更加美观起来吧~

qq_45715554的博客 3827

基于Simulink的防空导弹六自由度弹道建模与仿真实战

本文详细介绍了基于Simulink的防空导弹六自由度弹道建模与仿真方法。通过分析导弹动力学原理、Simulink环境配置、气动力建模、推进与控制系统设计等关键环节,提供了一套完整的实战指南。文章特别强调了六自由度模型在防空导弹仿真中的重要性,并分享了常见问题排查与优化建议,为相关领域工程师提供实用参考。

apple5的专栏 868

hbase scan超时设置_HBase扫描速度很慢

问题我正在和凤凰城建立二级指数.索引创建需要几个小时.这似乎是由于缓慢的HBase扫描,因为我注意到以下性能:>我可能需要2个小时来扫描表格,而其他开发人员报告了几分钟的大桌子(1亿行).> HBase shell能够计数大约几行.每秒10.000的速度,这意味着计算这个表的所有行的3800s(> 1小时!).兼容HBase shell和Java扫描器.注意:GET(by row...

weixin_31258847的博客 1135

6、探索音乐结构中的统一性:贝多芬《英雄交响曲》第一乐章的深度剖析

本文深入剖析了贝多芬《英雄交响曲》第一乐章的音乐结构,探讨其统一性的来源及表现形式。通过主题与动机、和声与调性、旋律与节奏、织体与动态等多方面的分析,揭示了这部作品在技术层面和情感表达上的卓越成就。

b9c0d的博客 518

记一次hbase写入慢排查分析

版本:1.2.6现象:hbase写入耗时长,单机slow put数量上升,单机flush慢,内存达到高水位block request至高水位下(内存达到低水位会不断flush至低水位下),目前24G内存,高水位9.6G(240.4),低水位7.68G(9.60.8)具体分析:1 flush慢 并非写入hdfs慢,怀疑是scan耗时太长,甚至可能死锁了2 flush的size大 很好理解,并不是说达到128MB立即就flush了,是扔到flush队列了,flush队列可能有普通region的flush(队列,

kobexzf的博客 1985

Windows 下 Codex 安装全记录:从零到一的保姆级图文教程

本文主要介绍了Windows 下 Codex 安装全记录:从零到一的保姆级图文教程,希望能对学习使用 Codex 的同学们有所帮助。 文章目录 1. 背景 2. 实战教程 2.1 方案一 2.2 方案二 3. 报错解决方案

weixin_43178406的博客 14万+

30天入门 SAP BTP 开发系列之八:动手在 SAP BTP 上开发第一个 ABAP 透明表

ABAP Cloud 环境下创建透明表的方法与数据迁移实践 本文介绍了在 SAP BTP ABAP 环境中创建透明表并迁移数据的完整流程。与传统的 SE11 事务码不同,ABAP Cloud 需通过 ABAP Development Tool 创建数据库表,使用代码定义表结构。作者详细演示了如何: 在开发包中创建名为 Z优快云_TRAVEL 的透明表 使用 ABAP 代码定义表字段和约束 通过 ABAP 类实现数据从标准表/DMO/TRAVEL 到新建表的迁移 验证数据迁移结果 文中还提供了相关技术概念的

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1788

HBase慢查询追踪实战:用Tracing与Span分析精准定位性能瓶颈

在大规模分布式系统中,HBase作为基于Hadoop的列式数据库,凭借其高吞吐、低延迟的特性,广泛应用于实时读写场景。然而,随着数据量和并发请求的持续增长,性能问题逐渐暴露,尤其是慢查询已成为运维团队日常面对的核心挑战。据2025年Gartner最新报告,超过70%的企业在HBase生产环境中遭遇过慢查询问题,其中近40%的案例导致业务关键路径中断。理解HBase的架构和常见瓶颈,已成为有效进行故障排查和性能优化的必备前提。

zuiyuelong的博客 511

基于 Simulink 的固态变压器(SST)多级协同控制实战教程

《固态变压器多级协同控制仿真指南》摘要: 本教程详细讲解了基于Simulink的固态变压器(SST)三级架构建模与控制方法。核心内容包含:1)搭建级联H桥整流(CHB)、双有源桥(DAB)和逆变器(VSI)的三级主电路;2)提出创新的多级协同控制策略,通过功率前馈实现输入输出级动态匹配;3)给出系统级功率平衡、单元级均压控制的具体实现方案。教程特别强调解决实际工程中的关键问题:代数环处理、软启动设计和刚性系统求解器选择,并提供了硬件在环(HIL)仿真建议。附带的MATLAB代码示例可直接用于实现电容电压均衡

xiaoheshang_123的博客 120

HBASE引起线上服务宕机的排查

表现:线上6台8C8G服务器内存瞬间打满,cpu占用也瞬间暴增,导致服务完全不可用(对外全响应504) 排查过程: 1)由于当天早上有上线代码,第一反应先回滚代码,同时去线上dump出log文件 结果:回滚后依然瞬间打满内存 2)联系运维,紧急扩容两台服务器,防止是由于qps过高压垮服务 结果:新扩容服务器瞬间打满内存,同时确认qps并未超限 3)排查定时任务,确认没有死循环等其他问题,主要检查发...

weixin_34127717的博客 526

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

hbase查询耗时过高怎么排查?

HBase 查询耗时高可能有多种原因,需要细心排查,下面给些方向。还有使用phoenix做二级索引。

努力工作学习的程序员 996

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

TPS低,CPU高--记一次storm压测问题排查过程

一、业务背景+系统架构 本次场景为kafka+storm+redis+hbase,通过kafka的数据,进入storm的spout组件接收,转由storm的Bolt节点进行业务逻辑处理,最后再推送进kafka。 表数据相关的逻辑为:查询Hbase表数据,首次查询会写入redis和storm cache,再次查询,会直接从redis或cache中取值。 ...

aqovxg590751的博客 498

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

记一次Apache Kylin的慢查询排查及优化

目前业务在使用Kylin的时候反馈查询很慢,直接超时了(超时时间设置的为5min),在日志中获取了相应的SQL以及Cube之后发现: SQL扫描了不到2个月的数据,500多G大小,26亿的记录数; SQL中涉及到了4个count distinct计算(bitmap); 当前集群环境如下: Kylin服务器2台,部署了2个节点,都是all; HBase集群服务器4台,每台部署了2个regionserver; Kylin版本为2.6.6; 该cube设置的合并时间为7天/28天,Storage情况如下所

skyyws的博客 1000

Java常见线上问题排查及其工具使用

一、常见故障原因 1、网络原因 网络抖动 线路故障 2、外部接口故障 3、中间件原因 负载太高,需要扩容等 4、服务自身原因 OOM JVM参数导致,metaspace太小等 死锁 接口延时高 mysql、redis、mongdb、hbase、kafka等慢查询 业务逻辑缺陷 二、解决方案 1、下线:将故障的实例从nacos下线,保留现场供问题排查 2、重启:如果不能通过下线解决,比如队列消费导致的原因等,则需要重启 3、扩容:如果是容量问题,或者通过扩容能解决,直接扩容,先保障

Carson073的博客 1850

SQL排查- 慢查询日志与分析数据库海量数据

慢查询日志 用于记录MYsql种响应时间超过阈值 打开慢日志 show variables ‘%slow_query-log%’ 临时开启 set global slow_query_log = 1 关闭服务 永久开启 /etc/my.cnf [mysqlD] 修改日志 慢查询阈值 ,临时设置和永久设置,改完之后重新登录后生效,不需要重启服务 long_query_time = 3 select ...

文武傲群雄,彳亍定江山 825
上一篇: oneToMany 修改many端属性saveupdate
下一篇: 解决spring3 mvc中乱码的问题
weixir123
博客等级 码龄16年 1粉丝 207原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值