HBase的目录结构

原创 2013年12月05日 11:34:03

HBASE的目录结构如图:



根目录文件(Root-level files)

第一部分文件是被Hlog处理的write-ahead日志文件,这些日志文件被保存在HBase根目录下的.logs文件夹。.logs目录下面为每一个HRegionServer单独创建一个文件夹,每一个文件夹下有几个HLog文件(因为log rotation)。每一个HRegionServer的所有region都共享一个HLog文件。

当一个日志文件不再需要时(因为其包含的“编辑信息”都已经持久化保存到store files),该日志文件会被保存到数据库根目录下.oldlogs文件夹。.oldlogs目录下的文件在10分钟后会被master删除(该时间可以由hbase.master.logcleaner.ttl参数设置)。Master会每隔一分钟(该时间可以由hbase.master.cleaner.interval参数设置)检查这些旧日志文件。

第二部分文件是hbase.idhbase.version文件,hbase.id记录了集群的唯一标识;hbase.version记录了文件格式的版本号。

第三部分,随着时间的增长,在根目录下还会产生一些其他目录。split.corrupt目录在日志分裂过程中使用,以便保存一些中间结果和损坏的日志。

表级文件(Table-level files)

HBase的每一张表在根目录下都有一个单独的文件夹(在这里我们称为表目录)。在表目录下有一个命名为.tableinfo的文件,该文件保存了该表所对应的已经序列化的HTableDescriptorHTableDescriptor包含了表和column family模式。除了.tableinfo之外,还有.tmp目录。.tmp目录有很多作用,举例来说,需要在.tableinfo更新过程中被使用。

域级文件(Region-level files)

在表目录下,为该表的每一个region单独创建一个目录,目录的名字为region nameMD5哈希值。整个的目录结构如下所示:

/<hbase-root-dir>/<tablename>/<encoded-regionname>/<column-family>/<filename>

在每一个column-family目录下保存着真正的数据文件。这些数据文件以随机数来命名,由Java内置的随机数生成器产生。HBase程序非常智能,可以发现随机数重复,以防止命名重复;直到找到未使用的随机数为止。

region目录包含.regioninfo文件,该文件包含了该region所对应的HRegionInfo所对应的经过序列化的信息。除了该文件之外,还有一个可选的目录.tmp会随着需求的出现被创建,例如在合并过程中重写文件。


版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Hadoop HDFS本地存储目录结构解析

HDFS metadata以树状结构存储整个HDFS上的文件和目录,以及相应的权限、配额和副本因子(replication factor)等。本文基于Hadoop2.6版本介绍HDFS Namenod...
  • opensure
  • opensure
  • 2016年05月19日 11:38
  • 10780

Hbase架构与原理

HBase是Apache Hadoop中的一个子项目,Hbase依托于Hadoop的HDFS作为最基本存储基础单元,通过使用hadoop的DFS工具就可以看到这些这些数据存储文件夹的结构,还可以通过M...

hbase目录结构

hbase的数据保存在hadoop的hdfs中。通过hbase-site.xml配置hbase.rootdir制定在hdfs的路径 目录组成如下图: WALs目录中保存了hbase...

HBase 在HDFS 上的目录树

HBase 在HDFS 上的目录树      总所周知,HBase 是天生就是架设在 HDFS 上,在这个分布式文件系统中,HBase 是怎么去构建自己的目录树的呢? 这里只介绍系统级别的...

Hbase在HDFS上的各个目录作用

1、/hbase/.META. 就是存储1中介绍的 META 表的存储路径。 2、/hbase/.archive HBase 在做 Split或者 compact 操作完成之...

大数据技术-HBase:HBase写入路径

HBase数据是最终存放到hdfs上的,而我们知道hdfs是不支持随机写,只能提供append的形式追加,然后一旦写入后是不可变的。那么HBase是如何提供所谓的低延时写入和读取?下面我们就分析下其中...

HBase在HDFS上的目录结构

总所周知,HBase 是天生就是架设在 HDFS 上,在这个分布式文件系统中,HBase 是怎么去构建自己的目录树的呢? 这里只介绍系统级别的目录树。 一、0.94-cdh4.2.1版本 ...

linux系统目录结构及说明

  • 2014年07月30日 22:36
  • 236KB
  • 下载

C#调用接口目录结构

  • 2013年08月07日 00:23
  • 227KB
  • 下载

Angular项目目录结构详解

在上一篇博客中我们已经通过Angular CLI命令行工具创建出来一个全新的Angular项目,要想写项目,首先我们要先搞清楚项目的目录结构是怎样的,每个文件又有什么意义,文件中的代码又起到什么作用。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HBase的目录结构
举报原因:
原因补充:

(最多只允许输入30个字)