案例篇-HBase 实战之 MOB 使用指南
1. 背景
HBase 可以很方便的将图片、文本等文件以二进制的方式进行存储。虽然 HBase 一般可以处理从 1 字节到 10MB 大小的二进制对象,但是 HBase 通常对于读写路径的优化主要是针对小于 100KB 的值。当 HBase 处理数据为 100KB~10MB 时, 由于分裂(split)和压缩(compaction)会引起写的放大,从而会降低 HBase 性 能。所以在 HBase2.0+引入了 MOB 特性,这样保持了 HBase 的高性能、强一致 性和低开销。
若要启用 MOB 功能,需要在每个 RegionServer 进行配置,并在建表或者修改表 时对指定列族启用 MOB 特性。在 HBase 尝鲜版中启用 MOB 功能,需要由 admin 用户设置定期进程,以重新优化 MOB 数据的分布。
2. 启用和配置 RegionServer 上的 MOB 特性
增加或者修改 hbase-site.xml 文件中的某些配置
2.1 设置 MOB 文件的缓存配置
说明:
- hbase.mob.file.cache.size 打开的文件句柄缓存数,默认值是 1000。通 过增加文件句柄数可以提高读的性能,可以减少频繁的打开、关闭文件。若这个值设置过大,会导致“too many opened file handers”。
- hbase.mob.cache.evict.period MOB 缓存淘汰缓存的 MOB 文件时间间隔
(以秒为单位),默认值为 3600 秒。 - hbase.mob.cache.evict.remain.ratio 当缓存的 MOB 文件数 目超 过hbase.mob.file.cache.size 设置的数目后,会触发 MOB 缓存淘汰机制 (eviction),0.5f 为剩余的 MOB 缓存比率(0~1),默认的比率为 0.5f。
2.2 配置 MobMasterObserver 作为协处理器的 master
主要用于表在删除后,MOB 文件的归档。
MOB的管理 MOB 特性为 HBase 引入新的读写路径,此时我们采用外部工具对其进行优化处理,一个是 expiredMobFileCleanerTTL 处理 TTL 和时间的过期数据,另一个是清理工具用来合并小的 MOB 文件或者多次更新、删除的 MOB 文件。
2.2.1 清理过期的 MOB 数据(expiredMobFileCleaner)
设置清理延时
2.2.2 清理工具
属性值设置如下:
说明:
- hbase.mob.compaction.invalid.file.ratio 如果在 MOB 文件中删除了太 多的单元格,则被视为作为无效文件,需要重新写入或者合并。当 MOB 文件 (mobFileSize)大小减去存在的单元格(existingCellsSize)大小之差除 以 MOB 文件(mobFileSize)的比率小于设定的值时,我们就认为其为无效 文件。默认值为0.3f。
- hbase.mob.compaction.small.file.threshold 如果 MOB 的大小小于阈值, 则视为小文件,需要合并。默认值为64MB。
- hbase.mob.compaction.memstore.flush.size MOB 里 memstore 大小,超过 此大小就会 flush,并且每个 sweep reducer 拥有各自 memstore。
警告
使用清理工具最坏的情况:MOB 文件压缩合并成功,但是相关的(put)更新失败。 这意味着新的 MOB 文件已经创建但未能将新的 MOB 文件路径。存入 HBase 中, 因此 HBase 不会指向这些 MOB 文件。
小贴士
请检查 yarn-site.xml 的配置,在 yarn.application.classpath 中添加 hbase 的安装 路径:$HBASE_HOME/ 和 hbase 的 lib 路径: $HBASE_HOME/lib/
在表中开启 MOB 特性 a 将列族设置为 MOB
2.2.3 设置 MOB 单元格的阈值,默认为 102400
对于客户端而言,MOB 单元格操作和普通单元格类似。
2.2.4 插入 MOB 值
2.2.5 获取 MOB 值
2.2.6 获取 MOB 所有数据(raw =true)
运行一个 MOB 示例
案例篇-HBase 实战之 MOB 使用指南相关推荐
- 案例篇-HBase RowKey 设计指南
1.为什么 Rowkey 这么重要 1.1 RowKey 到底是什么 我们常说看一张 HBase 表设计的好不好,就看它的 RowKey 设计的好不好.可见 RowKey 在 HBase 中的地位.那 ...
- 案例篇-HBase 在滴滴出行的应用场景和最佳实践
1.背景 ** 1.1 对接业务类型** HBase 是建立在 Hadoop 生态之上的 Database,源生对离线任务支持友好,又因为 LSM 树是一个优秀的高吞吐数据库结构,所以同时也对接了很多 ...
- asp.net多图片上传案例_会计小明的故事-成本核算案例篇
因涉及成本核算案例篇,所需要的图表比较多,但是知乎不同于微信可以直接将文档图表复制过来,知乎专栏文章,所有图表必须先截图,然后以图片形式展示.但是成本核算案例图表实在是太多,一一截图,一则影响整体观感 ...
- Ajax异步请求(重渲染DOM元素时,如何自动调用并执行JS自定义函数【含代码】)- 案例篇
文章目录 Ajax异步请求(重渲染DOM元素时,如何自动调用并执行JS自定义函数[含代码])- 案例篇 效果截图: 重要代码: 附:全部HTML代码: Ajax异步请求(重渲染DOM元素时,如何自动调 ...
- 论 js中:(class、id)出乎意料的优先级?- 案例篇
文章目录 论 js中:(class.id)出乎意料的优先级?- 案例篇 看图说明 · 案例场景: 重要代码 · 解析 · `提示`: `class / id` 在`js`中抓取的`优先级`:`[代码点 ...
- Kotlin第5篇项目实战2:开发【Kotlin】版QQ2006聊天工具-关东升-专题视频课程
Kotlin第5篇项目实战2:开发[Kotlin]版QQ2006聊天工具-420人已学习 课程介绍 本视频是智捷课堂推出的一套"Kotlin语言学习立体教程"的视频 ...
- Java从小白到大牛第4篇项目实战视频课程2——Java版QQ-关东升-专题视频课程
Java从小白到大牛第4篇项目实战视频课程2--Java版QQ-1778人已学习 课程介绍 本项目是Java SE技术实现的QQ2006聊天工具,所涉及到的知识点:Java面向对象.L ...
- Java从小白到大牛第4篇项目实战1——PetStore宠物商店-关东升-专题视频课程
Java从小白到大牛第4篇项目实战1--PetStore宠物商店-1764人已学习 课程介绍 PetStore是Sun(现在Oracle)公司为了演示自己的Java EE技术,而编写的 ...
- 一文读懂HBase 2.0 MOB 特性
前言 HBase 2.0 发布了很多新的特性,其中一个非常值得关注的是中等对象存储的特性,即 HBase MOB(Medium Object Storage)特性.HBase 2.0 MOB的引入,扩 ...
最新文章
- 把对象转换成JSON字符串 第二稿支持移动设备
- 树莓派3 mysql端口_树莓派3 之 安装Mysql服务
- 如何使用Visual Studio Code调试PHP CLI应用和Web应用
- win32框架,GDI图形编程写一个HelloWorld游戏_c语言
- XDOJ-1073-Nunchakus_求一个集合能否分裂成两个和相等的集合(dp、背包问题)
- Apache CXF 3.0:CDI 1.1支持可替代Spring
- Alibaba Sentinel 限流与熔断初探
- 第一节 如何用Go实现单链表
- 【渝粤教育】国家开放大学2018年春季 7385-21T公共关系学(本) 参考试题
- 百度网盘文件转存到阿里云盘工具,爱死这个软件了
- 【NanoPi2试用体验】nanopi2下的二维码识别
- 贝壳找房原生爬虫租房分析
- 洛谷p1179数字统计
- 一款界面友好的思维导图软件MindMaster
- Ubuntu16.04安装Redshift色温调节工具
- codeforces1064E Dwarves, Hats and Extrasensory Abilities
- emc 登录 java_连接EMC存储系统
- Python3.5 Django1.10 Scrapy1.2 Ubuntu16.04 HTML5
- 北航计算机学院王华峰,软件学院学术论坛第四次宣讲会
- 电脑假死卡的动不了_电脑卡死了动不了怎样恢复
热门文章
- 剑指offer (02):实现 Singleton 单例模式 (Python 实现详解)
- (筆記) 如何增加SignalTap II能觀察的reg與wire數量? (SOC) (Quartus II) (SignalTap II)
- 【十八】文件译文:graph.js.fmkr (测试报告模版配置文件)
- c语言abc组合abc cba=n,组合问题(先提取数字+全组合)
- java api练习_Java接口练习
- Guns启动项目抛出:脚本错误,flyway执行迁移异常
- [Teamcenter 2007 开发实战] 调用web service
- Teamcenter 开发中的一些问题
- header manipulation 漏洞_【资讯】HPE 修补了两个关键的远程可利用漏洞
- scada系统集成_专家 | 浅析地铁综合监控系统集成门禁系统