个 Region,Region会下线,新Split出的2个子Region会被HMaster分配到相应的HRegionServer 上,使得原先1个Region的压力得以分流到2个Region上由此过程可知,HBase只是增加数据,有所得更新和删除操作,都是在Compact阶段做的

HBase File In HDFS。

HBase 文件可以分成两类:
    一、直接位于HBase根目录下。(HLog)
    二、位于表目录下文件
    1)根目录
        第一类文件是由HLog 实例处理的 WAL 文件,这些文件创建在 HBase 跟目下一个称为 .logs 的目录中。.logs目录下包含针对每个 HRegionServer的子目录。每个子目录下通常有几个 HLog 文件 (因为日志的切换产生),来自相同 RegionServer的Region 共享这些 HLog 文件。 对于最新创建的HLog文件通常大小为0,因为 HDFS 正使用一个内置的 append 支持来对文件进行写入,同时对于读取者来说只有那些完整的 Block 才是可用的, 包括 hadoop fs -lsr 命令。 尽管写操作的数据被安全地持久化,但是当前写入的日志文件大小信息有些轻微的不同。 日志文件每小时切换一次(默认 60分钟)后, 这个时间是由 hbase.regionserver.logrool.period 配置项控制。 等日志文件切换后,可以查看其正确大小,因为该文件已经被关闭了,所以HDFS 可以获取正确的状态。而其之后的新日志文件戴傲又会变为0.
        当日志文件不再需要时,现有的表更已经持久化到存储文件中了,他们就会诶移动到 HBase 根目录的 .oldlogs 目录中。 这是在日志文件达到上面的切换阈值时触发的。 老的日志文件默认会在10分钟后被 Master 删除, 通过 hbase.master.logcleaner.ttl 设定。 Master 默认每分钟会对这些文件进行检查,可以通过 hbase.master.cleaner.interval 设定。
    2)表
        HBase 中的每个表都有他自己的目录,位于HBase 根目录之下(最最开始讲的HBase表命名要规范的作用,因为他又是文件名)(更正0.98以后貌似改了。不是上面的/hbase/表,而是 /hbase/date/default/表,待验证)。每个表目录都有个.tableinfo 的顶层文件,该文件保存了针对该表的 HTableDescriptor 序列化后的内容,包含了一些元数据信息,同时可以被读取。可以通过工具查看表的定义;tmp 包含了一些中间数据。
        
        
        

    3 Region
    在每个表目录内,最对表的Schema 中的每个列族会有一个单独的目录。目录名称还包含 Region 名称的 MD5 哈希部分。 对于存储在磁盘上的目录中的 Region 名称。
    一旦一个Reion 因为容量大小而需要 split , 会创建一个阈值对应的 splits 目录,用来筹划产生两个子 Region。通常只需要几秒或更短的时间,该过程成功之后他们会被移入表目录下用来形成两个新的 Region , 每个代表原始 Region 的一半.换句话说,如果发现一个Region 目录下没有 .tmp 目录,那么说明目前他还没有执行合并。如果也没有 recovered.edits 目录,那么说明目前没有针对他的 WAL 回放。

    // 【表名】,【起始rowkey,如果从0开始 就不写 ,,】【 蓝色部分为后半部分。是哈希。尾部的点事整个 Region 的一部分,是一种包含哈希的新风格。】
    例如:p_t_rss ,[rk-1000],1440470934157 .41ba12b50dfcf29053b8de5725dc518.

    


Region 切分。
    








23 HBase 存储架构。的更多相关文章

  1. HBase存储架构

    以下的介绍是基于Apache Hbase 0.94版本: 从HBase的架构图上可以看出,HBase中的存储包括HMaster.HRegionServer.HRegion.Store.MemStore ...

  2. HBase系统架构及数据结构(转)

    原文链接:Hbase系统架构及数据结构 HBase中的表一般有这样的特点: 1 大:一个表可以有上亿行,上百万列 2 面向列:面向列(族)的存储和权限控制,列(族)独立检索. 3 稀疏:对于为空(nu ...

  3. 列式存储hbase系统架构学习

    一.Hbase简介 HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java.它是Apache软件基金会的Hadoop项目的一部分,运行 ...

  4. Hbase系统架构

    HBase 系统架构 HBase是Apache Hadoop的数据库,能够对大型数据提供随机.实时的读写访问.HBase的目标是存储并处理大型的数据.HBase是一个开源的,分布式的,多版本的,面向列 ...

  5. HBase 系统架构

    HBase是Apache Hadoop的数据库,能够对大型数据提供随机.实时的读写访问.HBase的目标是存储并处理大型的数据.HBase是一个开源的,分布式的,多版本的,面向列的存储模型.它存储的是 ...

  6. Hbase的架构原理、核心概念

    Hbase的架构原理.核心概念 1.Hbase的表.行.列.列族 2.核心组件: Table和region Table在行的方向上分割为多个HRegion, 一个region由[startkey,en ...

  7. HBase存储剖析与数据迁移

    1.概述 HBase的存储结构和关系型数据库不一样,HBase面向半结构化数据进行存储.所以,对于结构化的SQL语言查询,HBase自身并没有接口支持.在大数据应用中,虽然也有SQL查询引擎可以查询H ...

  8. hbase 存储结构和原理

    HBase的表结构 建表时要指定的是:表名.列族 建表语句 create 'user_info', 'base_info', 'ext_info' 意思是新建一个表,名称是user_info,包含两个 ...

  9. HBase体系架构和集群安装

    大家好,今天分享的是HBase体系架构和HBase集群安装.承接上两篇文章<HBase简介>和<HBase数据模型>,点击回顾这2篇文章,有助于更好地理解本文. 一.HBase ...

随机推荐

  1. CF 287(div 2) B Amr and Pins

    解题思路:一开始自己想的是找出每一次旋转所得到的圆心轨迹,将想要旋转到的点代入该圆心轨迹的方程,如果相等,则跳出循环,如果不相等,则接着进行下一次旋转.后来看了题解,发现,它的旋转可以是任意角度的,所 ...

  2. vue.js---methods中一个方法调用另一个方法

    new Vue({ el: '#app', data: { test:111, }, methods: { test1:function(){ alert(this.test) }, test2:fu ...

  3. SpringBoot学习笔记(10)-----SpringBoot中使用Redis/Mongodb和缓存Ehcache缓存和redis缓存

    1. 使用Redis 在使用redis之前,首先要保证安装或有redis的服务器,接下就是引入redis依赖. pom.xml文件如下 <dependency> <groupId&g ...

  4. grant 命令

    创建拥有所有权限账户.可以远程连接.并且允许用户再将该权限授予其它用户: grant all privileges on *.* to root @"%" identified b ...

  5. (WC2016模拟十一)【BZOJ4695】最假女选手

    ps:好久没更博啦……这几天连着有模拟赛,等初赛前后休息的时候来疯狂补坑吧……顺便补一下前面的数论啥的? 题解: mdzz我场上写了个15分暴力长度跟标算差不多... 线段树大法好啊!这题听说很多人做 ...

  6. .Net基础杂记

    1.面向对象程序思想 面向对象是程序开发的一种机制,特征为封装.继承.多态.以面向对象方式编写程序时,将复杂的项目抽象为多个对象互相协作的模型,然后编写模型结构,声明或实现类型的成员,即描述对象的特征 ...

  7. 关于python 中的偏函数转载

    Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function).要注意,这里的偏函数和数学意义上的偏函数不一样. 在介绍函数参数的时候,我们讲到,通过 ...

  8. WPF 列表自动换行

    原文:WPF 列表自动换行 本文告诉大家如何在 ListView 或 ListBox 使用 WrapPanel 让里面的控件自动换行 在 WPF 可以通过修改 ItemsPanel 设置使用不同的 I ...

  9. 2015,鬼王Xun和GGL比赛,带给我们无尽的欢乐

    一如既往的风格,正文之前,先扯蛋~     这篇文章好久就想写了,一直没有动笔,最近在忙于Android和iOS等技术研究,又忙于金融投资等方面的学习和写作.这个周末,把技术进度延缓了点,把很多闲杂的 ...

  10. pandas学习笔记 - 常见的数据处理方式

    1.缺失值处理 - 拉格朗日插值法 input_file数据文件内容(存在部分缺失值): from scipy.interpolate import lagrange import pandas as ...