HBase 2.0+优化处理中等大小对象(MOB)实战
需积分: 9 188 浏览量
更新于2024-09-06
收藏 81KB PDF 举报
"HBase实践之MOB使用指南未翻译.pdf"
在HBase中,MOB(Medium Objects)功能是为了解决存储大量中等大小对象(100KB到10MB之间)时性能下降的问题。HBase原生设计最适合处理小到中等大小的值,但当处理超过100KB的大数据量时,由于分裂和压缩导致的写放大,其性能会受到影响。从HBase 2.0版本开始,引入了对MOB的支持,以更好地管理这类大对象,同时保持高性能、强一致性,并降低操作开销。
启用和配置MOB功能涉及以下几个步骤:
1. **配置Region Server**:
在`hbase-site.xml`配置文件中,需要添加或修改以下属性来设置MOB文件缓存:
- `<property><name>hbase.mob.file.cache.size</name><value>SIZE</value></property>`:设定MOB文件缓存的大小,SIZE应为一个合适的内存值,例如100MB。
- `<property><name>hbase.hregion.memstore.mob.threshold</name><value>THRESHOLD</value></property>`:设定触发MOB存储的阈值,例如100KB,即当单元格值大于THRESHOLD时,数据将作为MOB存储。
2. **创建或修改表的Column Family**:
当创建新表或修改已有表时,需要在相应的Column Family上启用MOB特性:
```
create 'TABLE_NAME', {NAME => 'FAMILY_NAME', VERSIONS => 1, COMPRESSION => 'GZ', BLOOMFILTER => 'ROW', DATA_BLOCK_ENCODING => 'DIFF', ENCODE_ON_WRITE => true, BLOCKCACHE => true, MOB_ENABLED => true}
alter 'TABLE_NAME', {NAME => 'FAMILY_NAME', MOB_ENABLED => true}
```
3. **预览版优化**:
在早期版本中,管理员还需要设置定期进程来重新优化MOB数据的布局。这通常涉及到运行MOB相关的清理和压缩任务,以确保数据高效存储和访问。
4. **MOB的读写流程**:
- **写入**:当单元格值超过阈值时,HBase会将其写入单独的MOB文件,并在HFile中保存指向这些文件的指针。
- **读取**:读取时,如果发现指针,HBase会从MOB文件缓存中加载数据。如果缓存中没有,数据会被加载到缓存中,以供后续请求使用。
5. **性能和优化**:
- MOB功能通过减少对主内存的占用和优化存储结构,提高了处理大数据对象时的性能。
- 定期执行MOB压缩有助于控制文件数量和大小,防止过多的小文件问题,从而维持系统性能。
6. **监控与维护**:
监控MOB缓存命中率、MOB文件数量以及垃圾回收情况是关键,以便及时调整配置,确保系统的稳定性和效率。
HBase的MOB功能是为了应对大规模的中等大小对象存储需求,通过分离大对象并优化其存储和访问方式,提供了高效的解决方案。正确配置和管理MOB特性对于充分利用HBase在大数据场景下的优势至关重要。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-12-13 上传
2021-09-20 上传
2023-09-09 上传
weixin_38743968
- 粉丝: 404
- 资源: 2万+
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器