[HBase]
major_compact不工作
Hadoop-0.20.1-cdh3u0和HBase-0.90.2-cdh3u0
场景如下:
建一张表TableTTL,ttl设定例如为86400*2,这样里面的数据只是最近2天内有效而已。
并且该表是一开始只有一个Region(这也是默认的create
table)
然后不停对此表put数据,大量地put。
最后,该表不停的split出很多region,但会发现该表不会做每天(默认值)的Major
Compaction。
这是由于每个新split出来的region下面都只有一个StoreFile时,会导致这个问题:
Store.isMajorCompaction()里面,当一个Store下面只有一个StoreFile时,
判断完ttl后忘了返回一个true来证明就算只有一个文件也要做major
compaction。
[Split]时,会把多个StoreFiles合并为一个?
当split到最后,已经分好A,B并open
region后,准备向ZooKeeper上注册时,
会坚持是否Reference或者需要Compaction的,此时会把Daughter
A, B都做一次
compact操作,所以就只剩下一个StoreFile了。
分享到:
相关推荐
major_compact('t_abc') disable 't_abc' drop 't_abc' create 't_abc', 'info' EOF 以上这篇hbase-shell批量命令执行脚本的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发...
但这通常在HBase管理员操作中完成,不建议在Shell中频繁使用。 14. **版本控制(versions)**: HBase默认保留最近的三个版本,`get '表名', '行键', {VERSIONS => n}`可指定获取n个版本的历史数据。 15. **...
9. **compact**:手动触发Region的合并或压缩,如`major_compact 'testTable'`。 10. **split**:手动分裂Region,如`split 'testTable', 'rowkey'`。 以上只是HBase Shell的一些基础操作,实际使用中还会有更多...
建表、增删改查操作是基础,例如使用create命令创建表,put命令插入数据,alter命令修改表结构,disable和drop命令禁用和删除表,compact和major_compact命令处理Region的合并与压缩,balancer命令用于Region的均衡...
手动调用`split`和`major_compact`命令可以更精确地控制拆分和压缩时机,降低对系统的影响。 4. **预拆分region** 预拆分策略在创建新表时就分配多个region,避免单个region过大。在创建表时,可以指定预拆分行键...
对于学习和理解 HBase 的工作原理以及日常数据库维护来说,掌握 HBase Shell 的使用至关重要。 #### 二、HBase Shell 命令分类 HBase Shell 命令大致可以分为以下几类: 1. **DDL(Data Definition Language)**:...
删除操作也并没有真正删除原有数据,只是插入了一条打上”deleted”标签的数据,而真正的数据删除发生在系统异步执行Major_Compact的时候。很显然,这种实现套路大大简化了数据更新、删除流程,但是对于数据读取来说...
当一个Store中的StoreFile达到一定的阈值后,就会进行一次合并(major compact),将对同一个key的修改合并到一起,形成一个大的StoreFile,当StoreFile的大小达到一定阈值后,又会对StoreFile进行分割(split),等分为...
Compact分为minor compact和major compact两种类型。前者主要合并小文件,后者则会整合所有文件,以优化存储并提高查询性能。然而,major compact会因全量读取而消耗大量IO资源,可能短暂影响查询效率。 此外,当...
"major_compact.sh"是一个执行HBase主合并操作的脚本,主合并是HBase中清理和压缩数据文件的过程,有助于优化存储空间和读写性能。 "云梯1 Hadoop集群架构和服务简介.pdf"可能会详细解释Hadoop集群的架构,包括...
5. `hbase-major-compact-htable.hbase`:HBase的重大合并(Major Compaction)是将多个HFile合并成一个,以减少数据文件的数量并优化空间使用。这个脚本可能就是执行这个操作的命令。 6. `README.md`:这是一个...
- `compact` / `major_compact`:执行普通或主要压缩。 - `flush`:刷新表或所有表的数据到磁盘。 - `assign` / `unassign` / `move`:管理Region的分配和移动。 - `balance_switch`:开启或关闭Region服务器的负载...
当StoreFile数量过多或大小超过阈值,系统会进行Major Compact合并同类key,或Split操作以保持数据的合理分布。适时的手动Major Compact和调整StoreFile大小可优化读写性能。 在数据压缩方面,Hadoop和Hbase支持...
compact命令和major_compact命令分别用于执行局部压缩和全局压缩操作,优化存储空间的利用。 6. 导出表属性到本地文件:使用describeInJson命令可以将当前表的属性导出为本地的JSON格式文件,方便进行进一步的分析...