出自: http://www.cnblogs.com/panfeng412/archive/2013/06/08/hbase-slow-query-troubleshooting.html
最近HBase集群遇到过一次慢查询请求的问题,下面是对这一问题的具体描述及排查解决过程。
1. 发现问题
项目中有一张HBase表,每天凌晨以后会集中批量导入一批数据,导入数据量很大,在千万到亿的量级,然后白天为用户提供查询服务。某天突然发现,该表按照各个region(共计256个)分别仅scan少数几条数据时,部分region的查询请求的响应时间很慢,长达10秒甚至几十秒不等。
2. 排查问题
首先,通过查看HBase自带的region server监控界面上,看到这张表的每个region下面只有1~3个StoreFile,排除了由于StoreFile过多导致查询响应慢的情况。
接着排查,发现这张表的TTL为5天,因此会有大量过期数据存在。同时,由于这张表每天早上会导入一批数据(其中上周3.22那天集中导入了7亿多条记录),而集群的major compact周期配置是7天,虽然到今天为止3.22号的数据已经过期了,但是还没有经过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尽早触发执行。
相关推荐
在本文中,我们将深入探讨如何搭建一个Zookeeper和HBase集群,以及在过程中可能遇到的常见问题和解决方案。Zookeeper和HBase都是大数据处理领域的关键组件,Zookeeper作为一个分布式协调服务,而HBase是一个基于...
3. **HBase测试**:启动HBase,运行 `start-hbase.sh` 命令,然后可以使用HBase的命令行工具 `hbase shell` 进行基本操作,如创建表、插入数据、查询数据等,来检查HBase是否工作正常。 **HBase启动流程:** HBase...
- **NameNode与网络**:讨论了NameNode故障排查方法,以及网络延迟等问题的解决办法。 - **RegionServer与Master**:针对RegionServer和Master可能出现的问题给出了具体的排查步骤。 通过以上对HBase官方文档中文...
HBase是Apache Hadoop生态系统中的一个分布式、高性能、版本化、列族式数据库,它主要设计用于处理海量数据...同时,了解源代码有助于开发者更好地利用HBase特性,优化数据访问性能,以及在遇到问题时进行排查和解决。
《深入剖析HBase源码:理解其...理解这些核心机制对于优化HBase性能、排查问题以及进行二次开发都至关重要。通过对HBase源码的深入学习,我们可以更好地掌握其工作原理,从而更好地利用HBase处理大规模的非结构化数据。
- **Amazon EC2**:提供在 Amazon EC2 环境下排查 HBase 问题的指导。 通过以上解析可以看出,《HBase 官方文档》覆盖了 HBase 的各个方面,从基础入门到高级应用,再到故障排除,是一份非常全面的技术文档,对于...
而HBase是一款基于Hadoop的分布式、高性能、列式存储的NoSQL数据库,适用于实时查询和分析大规模数据。 1. **简介** 在部署Hadoop和HBase时,我们需要构建一个可靠的分布式环境,确保数据的高可用性和容错性。...
9. **监控与故障排查**:利用HBase自带的JMX监控工具、Zookeeper监控以及日志分析,可以监控系统运行状态,及时发现并解决问题。 10. **安全与权限**:在生产环境中,可能需要配置HBase与Kerberos集成,实现安全...
HBase,作为Apache软件基金会的一个开源项目,是构建在Hadoop文件系统(HDFS)之上的分布式列式数据库,它提供了高可靠性、高性能、可伸缩的数据存储解决方案。HBase 0.98.12.1是其历史版本之一,这个版本包含了丰富...
不过,HBase在大数据分析中可能与其他数据处理技术(如DSP)结合,用于存储和检索经过处理后的大量数据,形成整体的大数据分析解决方案。因此,理解DSP的概念和技术也有助于在HBase应用场景中更好地处理和分析数据。
#### 一、HBase简介与文档版本说明 - **文档来源及版权**:本文档为HBase官方文档中文版,版权所有归2012年Apache Software Foundation所有。 - **文档版本历史**:修订版本0.95-SNAPSHOT,发布日期为2012-05-23T20...
《HBase不睡觉书》是一本专注于HBase技术的详细指南,它提供了高清且全面的最新版内容,旨在帮助读者深入理解和掌握这个分布式列式数据库的精髓。HBase,全称为Apache HBase,是构建在Hadoop文件系统(HDFS)之上、...
- **性能与故障排除**:实际运行过程中遇到的问题及其解决方案。 #### 十四、运维管理工具 - **HBase工具与实用程序**:提供了一系列工具来辅助日常运维工作。 - **Region管理**:包括Region的分配、迁移等功能。 ...
运维包括Region调整、负载均衡、性能调优等,HBase提供了丰富的监控指标,如Region Server状态、Region分布、请求延迟等,便于问题排查和性能优化。 通过《Apache HBase Primer》这本书,读者将深入学习HBase的...
- **日志分析**:通过HBase的日志文件定位和解决问题。 7. **HBase与Hadoop的集成**: - **数据导入导出**:使用HBase的importtsv工具或者MapReduce作业批量导入数据。 - **MapReduce操作**:可以编写MapReduce...
7. **监控与调优**:了解如何监控HBase集群的健康状态,包括监控指标、告警设置和故障排查,以及如何根据实际情况进行性能调优,是运行稳定、高效的HBase集群的关键。 8. **安全与备份**:HBase的安全特性包括访问...
10. **监控与管理**:HBase提供了一套监控和管理工具,包括JMX、Web UI和命令行工具,帮助管理员监控系统状态,进行故障排查和性能调优。 理解并掌握以上知识点,将有助于你在使用HBase 0.94.5时更好地管理和处理...
#### 五、HBase的问题排查 在启动过程中,如果遇到诸如`UnknownHostException`等错误,通常是因为Linux系统的主机名配置不正确。此时,你需要检查`/etc/hosts`文件中的配置,并使用`hostname`命令修改主机名。 ###...
MapReduce任务有时会导致HBase集群的问题,了解如何排查这些问题是很重要的。 ##### 3.7 NameNode NameNode是Hadoop中的一个关键组件,其状态可能会影响HBase集群的性能。 #### 十一、Transwarp HBase常用工具 **...
#### 一、概述与背景 - **中文版文档**: 这份文档是针对Apache HBase的官方文档进行中文翻译整理的版本,旨在为中文用户提供更方便的学习资料。 - **版权信息**: 版权归2012年Apache Software Foundation所有,该...