HBase在split和major compact的一些非通常情况下的触发条件

关于Hbase手动实现Major Compact的办法 本人小菜,如有错误或疏漏之处,请各位大牛批评指正,求共同进步。发表此博文,旨在帮助遇到类似问题的朋友一点小的建议或思路。废话少说,开始吧。。。       最近,因项目需要。Hbase数据量很大,项目组提出需要对Hbase中目前所有表(当前有5个)进行major_compact操作。是按照需要,每天凌晨3点自动执行major_compact操作。             具体实现:     阅读详情

原

HBase在split和major compact的一些非通常情况下的触发条件

2013年03月10日 17:51:25 杨步涛的博客 阅读数:9914更多

所属专栏: HBase存储

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/yangbutao/article/details/8627120

HBase中的major compact功能中,参数hbase.hregion.majorcompaction已经设为0了,
日志中发现还是会major compact。
有3种方式,可以激发major compact
1) 通过hbase shell命令 major_compact进行触发
2) compact when file <= sum(smaller_files) *
'hbase.hstore.compaction.ratio'
    这种情况是选中的文件数量等于store中的文件数量时,会有minor compact升级为major compact
3) major compact时间间隔到期: after (now - min(StoreFile.timestamp)) >
"hbase.hregion.majorcompaction" + rand() *
hbase.hregion.majorcompaction.jitter"

至于split,并不是设置了hbase.hregion.max.filesize(默认10G)为很大就保证不split了,需要有以下的算法,参见
IncreasingToUpperBoundRegionSplitPolicy是0.94.0默认region split策略
  这里的split有一个判断条件,先计算这tableRegionsCount(regionserver上的这个table的online的region个数), 
然后循环计算此region的所有store是否太大,这是通过getSizeToCheck方法计算出一个size,若当前的store总大小大于这个值,则表示此region需要split. 
getSizeToCheck的计算方法首先判断tableRegionsCount是否等于0,若是则返回hbase.hregion.max.filesize ,若不是,则计算Math.min(getDesiredMaxFileSize(), 
this.flushSize * (tableRegionsCount * tableRegionsCount)。

 

Hbase Split 解析 HBase Split是hbase根据一定的触发条件和一定的分裂策略将HBase的一个region进行分裂成两个子region并对父region进行清除处理的过程。Region是HBase中一个非常核心的组织单元,所有的region组成了整个HBase集群,如下面的HBase的体系结构所示:在HBase中,split其实是进行sharding的一种技术手段,通过HBase的split条件和split 阅读详情

相关推荐

从农田到城市:如何利用NDVI和缨帽变换提升遥感图像分类精度?

本文深入探讨了如何利用NDVI(归一化差值植被指数)和缨帽变换(Tasseled Cap Transformation)两大关键技术,有效提升从农田到城市等复杂场景的遥感图像分类精度。文章通过剖析地物光谱特征,对比了原始波段与衍生特征的优劣,并提供了在ENVI、ArcGIS及Python环境中的具体操作指南与实战策略,旨在帮助从业者构建更鲁棒的特征工程流程,从而解决地物混淆、边界模糊等常见分类难题。

redis7keeper的博客 868

major_compact

一、major_compact的操作目的 (1)合并文件 (2)清除删除、过期、多余版本的数据 (3)提高读写数据的效率   HBase中实现了两种compaction的方式:minor and major. Minor compactions will usually pick up a couple of the smaller adjacent StoreFiles and rew...

mnasd的博客 7980

STM32F4驱动海康工业相机实战:从PWM信号到精准触发拍照(附完整代码)

本文详细介绍了如何使用STM32F4开发板驱动海康工业相机,实现PWM信号精准触发拍照的完整方案。从硬件连接到PWM信号生成,再到相机触发配置与延迟补偿,提供了实战经验和完整代码,帮助开发者解决工业相机硬件触发中的关键问题。

weixin_33716941的博客 699

HBase compaction了解和手动触发major_compaction方法

Major Compaction 的作用: 1.将一个Region下的所有StoreFile合并成一个StoreFile文件 2.对于删除、过期、多余版本的数据进行清除 3.提高读写数据的效率 HBase中实现了两种compaction的方式: 1.Minor compaction:只用来做部分文件的合并操作以及包括minVersion=0并且设置ttl的过期版本清理,不做任何删除数据、多版本数据的清理工作。 2.Major compaction:是对Region下的HStore的所有StoreFile执行

c18092694487t的博客 7317

无线图像传输新突破:深度JSCC算法在低带宽环境下的性能实测

本文深入探讨了基于深度学习的信源信道联合编码(JSCC)算法在低带宽无线图像传输中的突破性表现。通过实测数据对比,深度JSCC在低信噪比环境下展现出卓越的鲁棒性,有效对抗传统方案的“悬崖效应”,实现图像质量的平滑下降,为远程医疗、工业巡检等严苛场景提供了新的解决方案。

weixin_29090089的博客 508

不会写GLSL?用Cesium 1.120 + Heatmap.js 2.0.5也能搞定动态洪水模拟(附完整源码)

本文介绍了一种无需GLSL编程的3D洪水动态模拟方案,结合Cesium 1.120和Heatmap.js 2.0.5实现高效可视化。通过数据层、可视化层和集成层的技术降级方案,开发者可以快速构建专业级洪水演进效果,适用于应急管理、水利工程等场景。文章包含完整源码和性能优化技巧。

weixin_30329623的博客 523

HBASE手动触发major_compact

定时器执行脚本: #!/bin/bash source /etc/profile sh ./hbase shell <<EOF major_compact 'table_name' EOF major_compact语法: 语法: #Compact all regions in a table: hbase> major_compact 't1' #Comp...

bigdata_player 4965

电压跟随器在ADC采样电路中的作用分析

电压跟随器在ADC采集系统中扮演关键角色,它能解决分压电路因ADC输入阻抗导致的电压误差问题。通过运放构成的电压跟随器可隔离信号源与负载,保证采样精度,尤其适用于高阻抗传感器或高速采样场景。工程应用中需注意运放带宽、轨对轨输出能力及抗干扰设计。合理使用电压跟随器能显著提升信号完整性,在复杂电子系统中成为不可或缺的"信号桥梁。

硬核科技 659

hbase 常见问题

1 HBase什么时候做minor major compact 我们都知道compact分为两类,一类叫Minor compact ,一类叫Major compact, 两者有什么区别呢? 两者的区别在于:Minor compact只是进行文件merge操作,而Major compact除了做文件Merge操作,还会将其中的delete项删除。 hbase为了防止小文件(被刷到磁盘的menstore)过多,以保证保证查询效率,hbase需要在必要的时候将这些小的store file合并成相对较大的store

kobexzf的博客 1059

微信小程序 - 解决报错 {“errcode“:41002,“errmsg“:“appid missing, rid: X“} 微信报错错误码errcode“:41002问题分析及解决教程(详细排查)

【微信小程序】报错{“errcode“:41002,“errmsg“:“appid missing, rid: 64e55770-67c1fb7e-027c5a70“}:【微信小程序】微信小程序登录请求出现appid missing提示,微信公众号{"errcode":41002,"errmsg":"appid missing"},微信 报错{“errcode“:41002,“errmsg“:“appid missing,微信小程序获取openid返回appid missing的问题,微信小程序提示Erro

🏆 前端领域优质创作者 5661

PyTorch深度学习实战(25)——从零开始实现Mask R-CNN实例分割

Mask R-CNN 是一种在目标检测任务中引入了语义分割的强大框架,通过在 Faster R-CNN 基础上进行扩展,添加了额外的分支网络,不仅可以准确地检测对象的位置和类别,还可以生成每个实例的精确像素级别的语义分割掩码。其模块化的设计可以轻松地应用于不同的任务和数据集,并且可以通过添加更多的分支进行功能扩展,如实例关键点检测等。

盼小辉丶的博客 1万+

Hbase学习笔记(四)——存储的三个机制(Flush、Compact、Split)

Hbase——存储的三个机制一、Flush二、Compact三、Split 一、Flush 当MemStore中的数据量达到阈值,就将数据Flush到HDFS中,以Storefile形式存储。 触发条件: 当某个store中的memstore的存储达到 128M hbase.hregion.memstore.flush.size = 134217728 当整个region所使用的...

AidenBrett7的博客 686

华硕 NUC 对比 Mac mini:跑 OpenClaw 谁性价比更高?

在选择本地 AI 服务器硬件时,华硕 NUC 和 Mac mini 是两个热门选择。本文将从硬件规格、性能、成本、功耗、易用性等多个维度对比这两款设备,帮助您决定哪款更适合运行 OpenClaw。

博客 1023

hbase重要调优(GC策略,flush,compact,split)

一:GC的调优 1.jvm的内存   新生代:存活时间较短,一般存储刚生成的一些对象   老年代:存活时间较长,主要存储在应用程序中生命周期较长的对象   永久代:一般存储meta和class的信息   2.GC策略   Parrallel New Collector,垃圾回收策略   并行标记回收器(Concurrent Mark-Sweep Coll...

文武傲群雄,彳亍定江山 299

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

hbase compact和split策略

---compact split笔记   compact策略: 在启动region之后,memflush之后,用户compact调用compact 使用策略类needsCompaction方法,hfile数量大于hbase.hstore.compaction.min 和 hbase.hstore.compactionThreshold的最大值数(默认值为3)   major com...

369

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

HBase的compaction和split流程总结

HBase的compaction和split总结 1、compaction介绍 在HBase中,每当memstore的数据flush到磁盘后,就形成一个storefile,当storefile的数量越来越大时,会严重影响HBase的读性能,所以必须将过多的storefile文件进行合并操作。Compaction是Buffer-flush-merge的LSM-Tree模型的关键操作,主要起到如下几个作用: (1)合并文件 (2)清除删除、过期、多余版本的数据 (3)提高读写数据的效率 2...

Stray_Lambs的博客 979

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

HBase的Compact和Split源码分析与应用--基于0.94.5

经过对比,0.94。5以后版本主要过程基本类似(有些新功能和细节增加)   一、       Compact 2.1.   Compact主要来源 来自四个方面:1、Memstoreflush时;2、HRegionServer定期做Compaction Checker时;3、HBaseAdmin客户端发起的请求;4、CompactTool发起。 1)      MemstoreFlu

doliu6的专栏 1万+

hbase major_compact 文件会变小吗_图解式学习:可能是最易懂的Hbase架构原理解析(二)...

数据修改小史:不过吕老师,我还有问题啊,我记得 HDFS 是不能随机修改文件的,只能追加,那么 HBase 里的数据是不是写了之后就不能改也不能删除呢?吕老师:删除同样是追加一条版本最新的记录,只不过标记这个数据被删除而已,查询的时候,看到版本最新的记录是数据删除,就知道这个数据被删了。吕老师:哈,小史,你思考得非常深入,还记得 LSM 的第三层吗,HBase 会在合并的时候,将这些用不到的记录删...

weixin_30831529的博客 578

hbase major_compact 文件会变小吗_HBase性能优化总结(一):表的设计

1. 表的设计1.1 Pre-Creating Regions默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个region足够大了才进行切分。一种可以加快批量写入速度的方法是通过预先创建一些空的regions,这样当数据写入HBase时,会按照region分区情况,在集群内做数据的负载均衡。有关预分区...

weixin_39634351的博客 662

大数据最难源码 hbase 源码 (五)之 Flush,Split,Comact 核心流程源码

做好想做好为什么怎么做 想做好 好好努力 为什么 为了将来 怎么做 一点点努力

leaxning的博客 364

HBase 入门学习

这意味着,往 HBase写入数据时,字段可以动态、按需指定。因此,和关系型数据库相比,HBase能够轻松应对字段变更的场景。(3)RowHBase 表中的每行数据都由一个RowKey和多个 Column(列)组成,数据是按照 RowKey的。

weixin_44361163的博客 935

hbase源码系列(十四)Compact和Split

先上一张图讲一下Compaction和Split的关系,这样会比较直观一些。 Compaction把多个MemStore flush出来的StoreFile合并成一个文件,而Split则是把过大的文件Split成两个。 之前在Delete的时候,我们知道它其实并没有真正删除数据的,那总不能一直不删吧,下面我们就介绍一下它删除数据的过程,它就是Compaction。 在讲源码之前,先说一下...

weixin_34054866的博客 245

大数据之Hbase:Hbase面试题

目录1、Hbase是怎么写数据的?2、HDFS和HBase各自使用场景3、Hbase的存储结构4、热点现象(数据倾斜)怎么产生的,以及解决方法有哪些5、HBase的 rowkey 设计原则6、HBase的列簇设计7、HBase 中 compact 用途是什么,什么时候触发,分为哪两种,有什么区别 1、Hbase是怎么写数据的? Client写入 -> 存入MemStore,一直到MemStore满 -> Flush成一个StoreFile,直至增长到一定阈值 -> 触发Compact合并操

weixin_43597208的博客 240
上一篇: HBase compaction 分析
下一篇: 4)手动触发major compaction
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值