HBase 2.0+ 中的中型对象(MOB)存储指南
需积分: 7 160 浏览量
更新于2024-09-09
收藏 26KB DOCX 举报
"HBase MOB用户指南提供了关于如何在HBase中启用和配置Medium Objects (MOB) 功能的详细步骤。MOB是HBase针对中等大小对象优化存储的一种方式,尤其适合存储如图像、文档等二进制数据。由于大数值(如10MB)处理时会导致写放大的问题,影响性能,因此引入了MOB特性。HBase 2.0及更高版本支持MOB功能,启用它需要使用HFile版本3,并在表中声明MOB启用的列族。客户端无需任何改动即可使用此功能。"
正文:
HBase MOB (Medium Object Blob) 是一种针对HBase中的中等大小对象进行高效存储的机制。在传统的HBase读写路径中,当处理超过100KB大小的值时,性能可能下降,因为分裂和压缩操作会引发写放大。为了解决这个问题,HBase从2.0版本开始引入了MOB特性。
1. 启用HBase MOB:
要启用MOB功能,首先必须确保HBase使用HFile版本3。这需要修改`hbase-site.xml`配置文件,添加如下属性:
```xml
<property>
<name>hbase.hfile.format.version</name>
<value>3</value>
</property>
```
2. 配置MOB列族:
- 使用HBase Shell:可以使用`ALTER`命令在已存在的表或创建新表时启用MOB功能,例如:
```bash
alter 'table_name', {NAME => 'column_family', VERSIONS => '1', COMPRESSION => 'NONE', BLOOMFILTER => 'ROW', IN_MEMORY => 'false', MobEnabled => 'true'}
```
- 使用Java API:在创建表或修改列族配置时,设置`MobEnabled`属性为`true`。
3. 启用和配置MOB文件缓存:
编辑`hbase-site.xml`,添加以下属性以启用MOB文件缓存:
```xml
<property>
<name>hbase.mob.file.cache.size</name>
<value>100000000</value>
</property>
```
这个值表示缓存的MOB文件大小,默认单位是字节。
4. MOB文件管理:
MOB功能引入了一种新的读写路径,包括两种清理和压缩MOB文件的方式:
- 过期MOB文件清理器(Expired Mob File Cleaner):该组件负责清理已达到生命周期(TTL)的MOB文件。
- 压缩:MOB文件会被定期合并和压缩,以减少磁盘空间占用并提高读取效率。
5. 其他考虑:
- MOB阈值:可以通过`hbase.mob阈值`配置设置触发将值存储为MOB的大小门槛。
- MOB索引:MOB功能依赖于一个索引来快速定位MOB值,这个索引默认是基于时间戳的。
通过启用和正确配置HBase MOB,可以显著改善对大型数据值的处理,减少写放大,提高整体系统性能,尤其对于存储大量中等大小对象的场景。理解并熟练掌握这些配置和管理策略是优化HBase性能的关键。
2018-04-15 上传
2017-02-19 上传
2021-10-01 上传
2023-10-30 上传
2023-05-10 上传
2023-06-02 上传
2023-07-27 上传
2023-06-11 上传
2023-06-03 上传
francisdu
- 粉丝: 0
- 资源: 1
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析