个 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. KVO VS isa : KVO 建立在 KVC 之上

    Key-Value Observing (KVO) 建立在 KVC 之上,它通过重写 KVC 和监听 setter 方法,向外发送通知. https://blog.csdn.net/y55091811 ...

  2. centos7 jumpserver 部署和使用手册(二)

    前面已经介绍了jumpserver的部署,基于这篇部署文档,下面介绍下部署完成后的的功能使用: 一.系统设置 1.1根据提供的帐号密码(admin/admin)登录jumpserver 修改 url ...

  3. collections模块-namedtuple

    namedtuple -> 命名元组 这里的命名指的是对元组中元素的命名. 通过一个例子来看 import collections Person = collections.namedtuple ...

  4. 【Henu ACM Round#24 C】Quiz

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 肯定是这样 先放k-1个,然后空1个,然后再放k-1个.然后再空1个.. 以此类推. 然后如果(n/k)*(k-1)+n%k> ...

  5. 2015 Multi-University Training Contest 2 Friends

    Friends Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Sub ...

  6. 轻松学习JavaScript二十二:DOM编程学习之节点操作

    DOM编程不只能够查找三种节点,也能够操作节点.那就是创建,插入,删除.替换和复制节点.先来看节点 操作方法: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQ ...

  7. 安卓安装提示:Android SDK requires Android Developer Toolkit version 21.1.0 or above. (错误解决方法)

    安卓安装提示:Android SDK requires Android Developer Toolkit version 21.1.0 or above.  (错误解决方法) 主要是因为版本号不正确 ...

  8. ural 1143. Electric Path(凸包上最短哈密顿路径)

    题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1143 题意:逆时针给一个凸包的n(n<=200)个顶点坐标,求一个最短哈密顿路径的 ...

  9. light oj 1317

    Description You probably have played the game "Throwing Balls into the Basket". It is a si ...

  10. [PHP]怎样在SAE的CodeIgniter项目中隐藏掉index.php

    第一步:改动项目根文件夹的config.yaml文件.加入例如以下内容: handle: - rewrite: if(!is_dir() && !is_file() && ...