`
Vitas_Wang
  • 浏览: 9800 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HBase compaction行为及触发条件

阅读更多

HBase compaction come in two varieties: minor and major.

for the minor:

将最新的几个小文件合成一个大文件。

何时合并行为发生?

当文件满足下面所有条件时,合并行为将发生:

1> 参与合并的文件个数 >= hbase.hstore.compaction.min (default is 3), 但最多不超过hbase.hstore.compaction.max(default is 10)

2> 参与合并的文件需满足的条件: 

文件大小 < hbase.hstore.compaction.max.size (default is Long.MAX_VALUE)

且,文件大小 < 所有创建日期比该文件大(新)的文件大小之和*1.2

文件大小 < hbase.hstore.compactoin.min.size(memstore flush size)

3> 文件选择的优先级

优先考虑老文件。

for the major:

将所有文件合并

Which compaction type is run is automatically determined when the compaction

check is executed。 The check is triggered either after a memstore has been flushed to

disk, after the compact or major_compact shell commands or corresponding API calls

have been invoked, or by a background thread.

分享到:
评论

相关推荐

    HBase源代码 hbase-0.98.23

    `org.apache.hadoop.hbase.regionserver.StoreFile`类管理每个列族的HFile,当一个Region的大小达到预设阈值时,`org.apache.hadoop.hbase.regionserver.HRegion`会触发分裂过程,这涉及到`org.apache.hadoop.hbase....

    Hbase

    1. **Minor Compaction**:将一个`Store`内的多个小`StoreFile`合并成较大的文件,通常在`MemStore` flush之后触发。 2. **Major Compaction**:定期执行,合并一个`Store`内所有的小`StoreFile`为少量大文件,以...

    HBase 2.0 MOB 保存图片小视频利器-upload_HBase2.0MOB_

    - `hbase.mob.threshold`: 设定触发MOB存储的文件大小阈值,例如1MB。 2. 创建表并指定列族属性:创建一个新表,指定需要使用MOB特性的列族。例如: ``` create 'ImagesTable', 'Images', {NAME =&gt; 'ImageData',...

    hbase海量数据的全量导入方法

    4. **优化HBase配置**:调整HBase的参数,如关闭自动compaction、增加memstore大小、调整flush和compaction的触发条件等,以适应大规模数据写入。 #### HFileOutputFormat详解 HFileOutputFormat是一个重要的工具...

    HBase性能深度分析

    当region文件大小达到由“hbase.hregion.max.filesize”参数决定的上限(默认256MB),触发region split操作,原region一分为二,以提高数据读写效率与分布均衡性。 在此过程中,“.splits”目录的引入,有效避免了...

    大数据HBASE考题材料

    HBase的更新和删除操作发生在StoreFile的Compaction阶段。在这个阶段,多个StoreFile被合并以减少冗余并提高查询性能。 11. **RowKey的最大长度** HBase中RowKey的最大长度为64KB。RowKey的设计对于数据的分布和...

    Ted Yu:HBase and HOYA

    通过这些改进,Ted Yu强调了如何实现更少的I/O放大和更少的文件数量,以减少相关的故障发生,并最终提高HBase系统的整体性能。 HBase on YARN概念的引入,为大数据的架构设计提供了一种新的思路。HBase在YARN之上...

    hbase性能调优

    - **含义**:定义了触发Compaction的阈值,即HStore中StoreFile的数量。 - **默认值**:3。 - **推荐值**:根据实际情况调整,如设置为6。 - **应用场景**: - 当StoreFile数量达到或超过该阈值时,将触发Minor ...

    HBASERegion数量增多问题描述及解决方案.docx

    【HBASERegion数量增多问题描述及解决方案】 在HBase分布式数据库中,Region是表数据的基本存储单元,它将表的数据按照ROWKEY的范围进行分割。随着数据的增长,一个Region会分裂成两个,以此来确保数据的均衡分布。...

    Hbase总结.docx

    4. Major Compaction:手动执行Major Compaction可以合并多次修改,减少StoreFile数量,优化读取性能。 5. 内存配置:适当增加RegionServer的堆内存和Memstore的大小,防止写阻塞。 6. GC调优:选择合适的垃圾收集...

    hbase-2.2.5-bin.tar.gz

    HBase,全称为Apache HBase,是一个开源的分布式列式数据库,属于NoSQL数据库的一种,主要设计用于处理大规模数据集。HBase构建于Hadoop文件系统(HDFS)之上,提供高可靠性、高性能、可伸缩的数据存储。它能够支持...

    hbase-1.2.6-bin+src.tar.rar

    根据业务需求调整HBase配置,如Region大小、Compaction策略、BlockCache设置等,提升系统性能。 五、学习资源 参考链接:[博客教程](https://blog.csdn.net/haobindayi/article/details/82948123),该博客提供了...

    hbase 1.2.0源码

    通过对HBase 1.2.0源码的阅读,可以深入了解这些机制的实现细节,比如Region分配算法、数据读写的内部流程、Bloom Filter的构建和使用、以及Compaction策略的设定等。这将有助于开发者更好地优化HBase应用,解决实际...

    HBase_实战_

    13. **HBase的应用场景**:适合实时分析、日志分析、用户行为追踪、物联网数据存储等场景。 以上知识点只是《HBase实战》一书中的冰山一角,深入学习需要结合实际案例和实践操作,通过阅读提供的《HBase实战_中文....

    HBase_Client_Api_Guide

    真正的数据删除操作会在`Compaction`(合并操作)期间发生。 #### 二、Client API介绍 **2.1 配置** `HBaseConfiguration`是客户端使用的核心配置对象,用于管理HBase的配置信息。它有两种主要的构造方式: - `...

    Hbase权威指南源码

    数据文件合并(Minor Compaction和Major Compaction)是HBase维护数据一致性和优化存储空间的重要过程。 13. **HBase Replication**: 支持跨集群的数据复制,提高数据的可用性和容灾能力。 通过阅读《HBase权威...

    HBase权威指南中文版

    HBase利用Zookeeper实现高可用,当Master或RegionServer发生故障时,Zookeeper可以快速选举新的Master并重新分配Region。此外,数据的多版本和WAL(Write-Ahead Log)机制保证了数据的持久性和一致性。 八、HBase与...

    Hbase的安装与简单操作

    2. **Compaction**:HBase定期合并Region内的StoreFiles以减少文件数量,优化读取性能。 3. **Secondary Indexes**:虽然HBase默认不支持二级索引,但可以通过实现 Coprocessor 或使用第三方库如 phoenix 来实现。 ...

Global site tag (gtag.js) - Google Analytics