HBase什么时候作minor major compact】的更多相关文章

HBase什么时候做minor major compact我们都知道compact分为两类,一类叫Minor compact ,一类叫Major compact,两者有什么区别呢?两者的区别在于:Minor compact只是进行文件merge操作,而Major compact除了做文件Merge操作,还会将其中的delete项删除. hbase为了防止小文件(被刷到磁盘的menstore)过多,以保证保证查询效率,hbase需要在必要的时候将这些小的store file合并成相对较大的stor…
前言:之前有朋友加好友与我探讨一些问题,我觉得这些问题倒挺有价值的:于是就想在本公众号开设一个问答专栏,方便技术交流与分享,专栏名就定为:<读者来信>.欢迎关注本人微信公众号<HBase工作笔记>,扫描文末二维码解锁更多姿势! 来信人:罗*铭 小猿提问 如何判断HBase Major Compact是否执行完毕? 小猿解答 这里提供两种查看方式: 一种是HBase WebUI 界面: 另外一种是HBase Shell命令行 . 我们下面看一下. 1. HBase WebUI 点击W…
Region Compact请求是在Region MemStore Flush之后被触发的: boolean shouldCompact = region.flushcache(); // We just want to check the size boolean shouldSplit = region.checkSplit() != null; if (shouldSplit) { this.server.compactSplitThread.requestSplit(region); }…
先上一张图讲一下Compaction和Split的关系,这样会比较直观一些. Compaction把多个MemStore flush出来的StoreFile合并成一个文件,而Split则是把过大的文件Split成两个. 之前在Delete的时候,我们知道它其实并没有真正删除数据的,那总不能一直不删吧,下面我们就介绍一下它删除数据的过程,它就是Compaction. 在讲源码之前,先说一下它的分类和作用. Compaction主要起到如下几个作用: 1)合并文件 2)清除删除.过期.多余版本的数据…
HBase是基于LSM树存储模型的分布式NoSQL数据库.LSM树对比普遍的B+树来说,能够获得较高随机写性能的同时,也能保持可靠的随机读性能(可参考这里).在进行读请求的时候,LSM树要把多个子树(类似B+树结构)进行归并查询,对于HBase来说,这些子树就是HFile(还包括内存上的树结构MemStore).因此归并查询的子树数越少,查询的性能就越高. Compact的作用 在写请求的这篇文章里,已经介绍过对于每个写请求,都必须写入MemStore以及HLog才算完成事务提交.当MemSto…
经过对比,0.94.5以后版本主要过程基本类似(有些新功能和细节增加) 一.       Compact 2.1.   Compact主要来源 来自四个方面:1.Memstoreflush时:2.HRegionServer定期做Compaction Checker时:3.HBaseAdmin客户端发起的请求:4.CompactTool发起. 1)      MemstoreFlush在flushRegion方法中有相关处理,整个方法主要逻辑: A 对一个flush请求,判断不是META表且文件很…
compact一中介绍了HBASE compact的调度流程,本篇文章主要介绍实际进行compact的过程.先从上文中的chore中接入,在HRegionserver中的compactChecker chore方法中,会判断是否需要compact,如下: protected void chore() { //遍历instance下的所有online的region 进行循环检测 //onlineRegions是HRegionServer上存储的所有能够提供有效服务的在线Region集合: for…
hbase compact流程较多,这里分章节介绍,首先介绍compact在regionserver中的调用流程,并不会涉及真正的compact读取合并文件的流程,后续介绍. 在regionserver启动时,会初始化compactsplitthread以及CompactionChecker. /* * Check for compactions requests. * 检查合并请求 */ ScheduledChore compactionChecker; // Compactions publ…
Unsupported major.minor version 49.0的错误解决 Posted on 2011-01-14 16:49 chinaifne 阅读(15840) 评论(0)  编辑 收藏 在装2个不同版本JDK时遇到了这个问题,在网上钩了一吧!查到一个讲解比较好的资料. 一:要解决的问题 我们在尝鲜 JDK1.5 的时候,相信不少人遇到过 Unsupported major.minor version 49.0 错误,当时定会茫然不知所措.因为刚开始那会儿,网上与此相关的中文资料…
一:要解决的问题 我们在尝鲜 JDK1.5 的时候,相信不少人遇到过 Unsupported major.minor version 49.0 错误,当时定会茫然不知所措.因为刚开始那会儿,网上与此相关的中文资料还不多,现在好了,网上一找就知道是如何解决,大多会告诉你要使用 JDK 1.4 重新编译.那么至于为什么,那个 major.minor 究竟为何物呢?这就是本篇来讲的内容,以使未错而先知. 我觉得我是比较幸运的,因为在遇到那个错误之前已研读过<深入 Java 虚拟机>第二版,英文原书名…
时常会遇到java.lang.UnsupportedClassVersionError: Unsupported major.minor version 51.0这样的异常,现在都知道是jdk版本的问题,高版本跑在低版本上就出现这样的问题,今天搜了下,总结下这个东西 (1)随便打开个class文件 minor_version 为 0x0000,major_version 为 0x0033,十进制分别是0和51,合起来major.minor 就是 51.0 了 对于 JVM 来说,版本号确定了特定…
    转载自http://hi.baidu.com/fatchong/blog/item/191da23b478bbfef15cecbae.html         一直以来都是用jdk1.5,这次重返电信由于其系统是在jdk1.4上编译的,编译的时候出现了unsupported major.minor version49.0的错误,上网查看了一下还是一个很普遍的错误,捣鼓了两天终于捣鼓出一些东西,现分享给大家.      何谓 major.minor,且又居身于何处呢?先感性认识并找到 ma…
http://www.tuicool.com/articles/iieIz2 一.   简介 history  started by chad walters and jim 2006.11 G release paper on BigTable 2007.2 inital HBase prototype created as Hadoop contrib 2007.10 First useable Hbase 2008.1 Hadoop become Apache top-level proj…
转自:http://www.ibm.com/developerworks/cn/java/j-lo-HBase/index.html 高性能 HBase 数据库 本文首先介绍了 HBase 数据库基本原理及专用术语,然后介绍了 HBase 数据库发布的操作 API 及部分示例,重点介绍了 Scan 方法的操作方式,接着介绍了检索 HBase 数据库时的优化方案,最后通过一个示例总结了实际项目中遇到的检索速度慢的解决方案. HBase 数据表介绍 HBase 数据库是一个基于分布式的.面向列的.主…
欢迎和大家交流技术相关问题:邮箱: jiangxinnju@163.com博客园地址: http://www.cnblogs.com/jiangxinnjuGitHub地址: https://github.com/jiangxincode知乎地址: https://www.zhihu.com/people/jiangxinnju 转自:http://jiajun.iteye.com/blog/899632 原文图片丢失,本文补充图片,优化排版,修正部分错误. 一.简介 History l sta…
传统的行存储和(HBase)列存储的区别 1.为什么要按列存储 列式存储(Columnar or column-based)是相对于传统关系型数据库的行式存储(Row-basedstorage)来说的.简单来说两者的区别就是如何组织表: Ø  Row-based storage stores atable in a sequence of rows. Ø  Column-based storage storesa table in a sequence of columns. 行式存储下一张表的…
一.Hbase简介 HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java.它是Apache软件基金会的Hadoop项目的一部分,运行于HDFS文件系统之上,为 Hadoop 提供类似于BigTable 规模的服务.因此,它可以容错地存储海量稀疏的数据.HBase在列上实现了BigTable论文提到的压缩算法.内存操作和布隆过滤器.HBase的表能够作为MapReduce任务的输入和输出,可以通过Java API来存取数据,也可以…
原文链接:Hbase系统架构及数据结构 HBase中的表一般有这样的特点: 1 大:一个表可以有上亿行,上百万列 2 面向列:面向列(族)的存储和权限控制,列(族)独立检索. 3 稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏. 下面一幅图是Hbase在Hadoop Ecosystem中的位置. 二.逻辑视图 HBase以表的形式存储数据.表有行和列组成.列划分为若干个列族(row family) Row Key 与nosql数据库们一样,row key是用来检索记…
Region Server的整体架构 本文主要介绍Region的整体架构,后续再慢慢介绍region的各部分具体实现和源码 RegionServer逻辑架构图 RegionServer职责 1.      监听协作,通过zk来侦听master.meta位置.集群状态等信息的变化,更新本地数据. 2.      管理region的offline.online.open.close等操作,这些操作是和hmaster配合这来做的,region的状态有如下这些 offline.opening.open.…
一. 简介 hbase是bigtable的开源山寨版本.是建立的hdfs之上,提供高可靠性.高性能.列存储.可伸缩.实时读写的数据库系统.它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作).主要用来存储非结构化和半结构化的松散数据.与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力 HBase中的表一般有这样的特点: 1 大:一个表可以有…
1.什么是HBase HBase – Hadoop Database,是一个高可靠性.高性能.面向列.可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群.HBase利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协调工具. 它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表j…
转自:http://my.oschina.net/mkh/blog/349866 Hbase存储详解 started by chad walters and jim 2006.11 G release paper on BigTable 2007.2 inital Hbase prototype created as Hadoop contrib 2007.10 First useable Hbase 2008.1 Hadoop become Apache top-level project a…
一. 简介 history started by chad walters and jim 2006.11 G release paper on BigTable 2007.2 inital HBase prototype created as Hadoop contrib 2007.10 First useable Hbase 2008.1 Hadoop become Apache top-level project and Hbase becomes subproject 2008.10 H…
HBase简介(梳理知识)   https://www.cnblogs.com/muhongxin/p/9471445.html 一. 简介 hbase是bigtable的开源山寨版本.是建立的hdfs之上,提供高可靠性.高性能.列存储.可伸缩.实时读写的数据库系统.它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作).主要用来存储非结构化和半结构化的松散数据.与hadoop一样,Hbase…
HBase详解(很全面) very long story 简单看了一遍 很多不明白的地方.. 2018-06-08 16:12:32 卢子墨 阅读数 34857更多 分类专栏: HBase   [转自:http://jiajun.iteye.com/blog/899632] 一. 简介 history started by chad walters and jim 2006.11 G release paper on BigTable 2007.2 inital HBase prototype…
本文主要是从HBase应用程序设计与开发的角度,总结几种常用的性能优化方法.有关HBase系统配置级别的优化,这里涉及的不多,这部分可以参考:淘宝Ken Wu同学的博客. 1. 表的设计 1.1 Pre-Creating Regions 默认情况下,在创建HBase表的时候会自动创建一个region分区,当导入数据的时候,所有的HBase客户端都向这一个region写数据,直到这个region足够大了才进行切分.一种可以加快批量写入速度的方法是通过预先创建一些空的regions,这样当数据写入H…
版本:0.94-cdh4.2.1 hbase-site.xml配置 hbase.tmp.dir 本地文件系统tmp目录,一般配置成local模式的设置一下,但是最好还是需要设置一下,因为很多文件都会默认设置成它下面的 线上配置 <property>      <name>hbase.tmp.dir</name>      <value>/mnt/dfs/11/hbase/hbase-tmp</value> </property> 默认…
  概述 笔者本人接触研究HBase也有半年之久了,虽说不上深入和系统,但至少算是比较沉迷.作为部门里大数据技术的探路者,笔者还要承担起技术传播的职责,所以在摸索研究的过程中总是不断地进行总结和测试,一路走来,慢慢地积累了一些东西,整理了一下,做成一个技术系列文档,暂时就叫做"HBase应用开发回顾与总结".虽然称不上什么高深莫测的技术,但本着开源和分享的精神,笔者本人还是很乐意将它逐篇贴出来.另外,笔者认为<HBase权威指南>算是比较好的HBase方面的技术书籍了,推荐…
hbase.tmp.dir:本地文件系统的临时目录,默认是java.io.tmpdir/hbase−java.io.tmpdir/hbase−{user.name}: hbase.rootdir:hbase持久化的目录,被所有regionserver共享,默认${hbase.tmp.dir}/hbase,一般设置为hdfs://namenode.example.org:9000/hbase类似,带全限定名: hbase.cluster.distributed:hbase集群模式运作与否的标志,默…
版本:0.94-cdh4.2.1 hbase-site.xml配置 hbase.tmp.dir 本地文件系统tmp目录,一般配置成local模式的设置一下,但是最好还是需要设置一下,因为很多文件都会默认设置成它下面的 线上配置 <property>      <name>hbase.tmp.dir</name>      <value>/mnt/dfs/11/hbase/hbase-tmp</value> </property> 默认…