`
duming115
  • 浏览: 114427 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HBase 在Hadoop中的目录结构及文件内容(待补充)

阅读更多
1. HBase根目录以下以"/hbase"作为默认目录
  由hbase-default.xml中的"hbase.rootdir"定义,在hadoop中保存的推荐目录为hdfs://namenode:9000/hbase
2. HBase root 目录  ,用户表目录例如KeySpace1表下的Standard1 column family,+ 表示未打开的目录,- 表示已经打开的目录,文件没有+-标识.
  - /hbase -- 对应HRegionServer和HMaster 中的rootDir
 
      - /-ROOT-  -- -ROOT- 目录,在HMaster启动时如果不存在则创建.
          - /70236052
              + /.tmp
              - /info
                  5888818227459135066 -- HFile文件(请看片段)
              + /.oldlogs
             
              .regioninfo  
      - /.META.
          - /1028785192
              + /.oldlogs
              + /.tmp
              + /historian
              - /info
                  9039007746585873905 -- HFile文件 
      + /.logs
      + /.oldlogs
      hbase.version -- (hbase的版本信息7)
     
      - /KeySpace1 --对应HRegion tableDir目录.
          + /050f2de16c7a4c82af31c54dd82f8eb0 -- (HRegion.regiondir,也对应HRegionInfo.encodedName)
          + /1408bb740e20caa1188f041342a8036c
          ... (其它的region)
         
          - /9fdee9a88b36e4243577506d2a73f2bc  -- (对应HRegion中的regiondir,(这个值为encodedName is a hex version of the MD5 hash
                of table          name,startkey,regionIdTimestamp  具体参考HRegionInfo.java )
              .regioninfo  -- (当前region的信息,由HRegion.checkRegioninfoOnFilesystem()方法来检验及创建.保存的是regionInfo的信息.
              .tmp -- (HRegion 打开时删除,MemStore 中的缓存数据,写入到HFile文件时,先写入到.tmp文件中.写入完成后将这个文件
                  rename成./Standard1/4636404750291104726)
             
              - /splits -- (在region 被分割时创建,HRegion.splitRegion(byte[] splitRow)方法,在split后的HRegion中该目录为tableDir.
                    initialize(final Progressable reporter)方法会删除这一目录)
                  + /9fdee9a88b36e4243577506d2a73f2bd -- (splitA)
                  - /afdee9a88b36e4243577506d2a73f2bc -- (splitB)这是一个临时的目录,这个目录将会重命名为/hbase/KeySpace1/
                        afdee9a88b36e4243577506d2a73f2bc目录.HRegion.splitRegion(byte[] splitRow) 内.
                      - /Standard2 -- (columnfamily)
                          4636404750291104726.9fdee9a88b36e4243577506d2a73f2bc -- (其它的StoreFile对应的文件)
                          3277800383197646884.9fdee9a88b36e4243577506d2a73f2bc -- (Reference文件,
                              名称由StoreFile的名称+.+encodedRegionName)组成,由StoreFile.split(FileSystem fs, Path splitDir,
                              StoreFile f, byte[] splitRow, Range range)方法生成.文件中保存的是Refence信息,StoreFile来检测file文件是否符合Reference的格式,并打开这个文件,加载之前文件的)
                     
              + /Standard1 -- (其它的columnfamily,每个columnFamily对应一个Store)
              - /Standard2 (对应Store中的homedir(Path),storeNameStr(String) )
                  3277800383197646884 (对应StoreFile path(Path)目录.这里的文件名是random Long值.
                  4636404750291104726


3. ZooKeeper下的目录结构
  - /hbasehbase  -- 默认目录 由配置文件conf zookeeper.znode.parent属性指定,默认为/hbase,具体参考ZooKeeperWrapper类.
 
      root-region-server -- root region server 的地址和端口号例如192.168.1.24:60020, 由HMaster管理,停止HMaster后,该文件仍然存在.
      master -- master 地址,由HMaster 启动时创建,关闭时删除,内容192.168.1.93:60000
      shutdown -- 内容up,??
     
      - /rs -- region server 的父一级目录.
          1286590273089 -- region server 的启动的时间戳.内容192.168.1.28:60020
         
         
4. 部分文件片段
  4.1 .regioninfo
    user271456200+L?f?GKeyspace1,user196287945,1285478901492.9fdee9a88b36e4243577506d2a73f2bc.
user196287945  Keyspace1IS_ROOTfalseIS_METAfalse  Standard1 BLOOMFILTERNONEREPLICATION_SCOPE0 COMPRESSIONNONEVERSIONS1TTL86400000  BLOCKSIZE65536 IN_MEMORYtrue
BLOCKCACHEtrue?#P?

REGION => {NAME => 'Keyspace1,user196287945,1285478901492.9fdee9a88b36e4243577506d2a73f2bc.', STARTKEY => 'user196287945', ENDKEY => 'user271456200', ENCODED => 9fdee9a88b36e4243577506d2a73f2bc, TABLE => {{NAME => 'Keyspace1', FAMILIES => [{NAME => 'Standard1', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', COMPRESSION => 'NONE', VERSIONS => '1', TTL => '86400000', BLOCKSIZE => '65536', IN_MEMORY => 'true', BLOCKCACHE => 'true'}]}}

  4.2 /hbase/-ROOT-/70236052/info/5888818227459135066 HFile文件
      DATABLK*#? .META.,,1inforegioninfo+?? .META.,,1.META.IS_ROOTfalseIS_METAtrue  historian BLOOMFILTERNONEREPLICATION_SCOPE0 COMPRESSIONNONEVERSIONS
2147483647TTL604800 BLOCKSIZE8192  IN_MEMORYfalse
BLOCKCACHEfalseinfo BLOOMFILTERNONEREPLICATION_SCOPE0 COMPRESSIONNONEVERSIONS10TTL
2147483647  BLOCKSIZE8192  IN_MEMORYtrue
BLOCKCACHEtrueP?l  .META.,,1infoserver+???datanode-2:60020( .META.,,1infoserverstartcode+???+??MAJOR_COMPACTION_KEY?MAX_SEQ_ID_KEYhfile.AVG_KEY_LEN#hfile.AVG_VALUE_LEN?hfile.COMPARATOR2org.apache.hadoop.hbase.KeyValue$RootKeyComparator
hfile.LASTKEY( .META.,,1infoserverstartcode+???IDXBLK)+v# .META.,,1inforegioninfo+??TRABLK"$vZv

  4.3 /hbase/-ROOT-/70236052/.regioninfo root的regioninfo信息
    -ROOT-,,0-ROOT-IS_ROOTtrueIS_METAtrueinfo BLOOMFILTERNONEREPLICATION_SCOPE0 COMPRESSIONNONEVERSIONS10TTL
2147483647  BLOCKSIZE8192  IN_MEMORYfalse
BLOCKCACHEfalse?V?J

REGION => {NAME => '-ROOT-,,0', STARTKEY => '', ENDKEY => '', ENCODED => 70236052, TABLE => {{NAME => '-ROOT-', IS_ROOT => 'true', IS_META => 'true', FAMILIES => [{NAME => 'info', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', COMPRESSION => 'NONE', VERSIONS => '10', TTL => '2147483647', BLOCKSIZE => '8192', IN_MEMORY => 'false', BLOCKCACHE => 'false'}]}}

  4.4 /hbase/.META./1028785192/info/903900774658587390 -- .META.中存放的有关User Table 的信息.
  DATABLK*T:Keyspace1,,1286763569270.97c8936c63fd10a333f91157460754db.inforegioninfo+??+??v:Keyspace1,,1286763569270.97c8936c63fd10a333f91157460754db. Keyspace1IS_ROOTfalseIS_METAfalse  Standard1 BLOOMFILTERROWREPLICATION_SCOPE0VERSIONS1 COMPRESSIONNONETTL86400000 BLOCKSIZE65536 IN_MEMORYtrue
BLOCKCACHEtrue  Standard2 BLOOMFILTERROWREPLICATION_SCOPE0VERSIONS1 COMPRESSIONNONETTL86400000 BLOCKSIZE256 IN_MEMORYtrue
BLOCKCACHEtruer?y?P:Keyspace1,,1286763569270.97c8936c63fd10a333f91157460754db.infoserver+???datanode-4:60020Y:Keyspace1,,1286763569270.97c8936c63fd10a333f91157460754db.infoserverstartcode+???+??MAJOR_COMPACTION_KEY?MAX_SEQ_ID_KEYhfile.AVG_KEY_LENThfile.AVG_VALUE_LEN?hfile.COMPARATOR2org.apache.hadoop.hbase.KeyValue$MetaKeyComparator
hfile.LASTKEYY:Keyspace1,,1286763569270.97c8936c63fd10a333f91157460754db.infoserverstartcode+???IDXBLK)+5T:Keyspace1,,1286763569270.97c8936c63fd10a333f91157460754db.inforegioninfo+??TRABLK"$5J5

5. hbase shell
 
  5.1 hbase(main):003:0> scan '-ROOT-'
ROW                                COLUMN+CELL                                                                                     
.META.,,1                         column=info:regioninfo, timestamp=1286762316984, value=REGION => {NAME => '.META.,,1', STARTKEY =
                                   > '', ENDKEY => '', ENCODED => 1028785192, TABLE => {{NAME => '.META.', IS_META => 'true', FAMILI
                                   ES => [{NAME => 'historian', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '214748
                                   3647', COMPRESSION => 'NONE', TTL => '604800', BLOCKSIZE => '8192', IN_MEMORY => 'false', BLOCKCA
                                   CHE => 'false'}, {NAME => 'info', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '1
                                   0', COMPRESSION => 'NONE', TTL => '2147483647', BLOCKSIZE => '8192', IN_MEMORY => 'true', BLOCKCA
                                   CHE => 'true'}]}}                                                                               
.META.,,1                         column=info:server, timestamp=1287129838697, value=datanode-3:60020                             
.META.,,1                         column=info:serverstartcode, timestamp=1287129838697, value=1287129832854 

5.2 scan '.META.',{LIMIT => 2}
ROW                                COLUMN+CELL                                                                                     
Keyspace1,,1286872546310.275bb305 column=info:regioninfo, timestamp=1286872546523, value=REGION => {NAME => 'Keyspace1,,12868725463
a270083cd5a22cb007c0aea9.         10.275bb305a270083cd5a22cb007c0aea9.', STARTKEY => '', ENDKEY => 'user1010706264', ENCODED => 275
                                   bb305a270083cd5a22cb007c0aea9, TABLE => {{NAME => 'Keyspace1', MAX_FILESIZE => '16384', MEMSTORE_
                                   FLUSHSIZE => '2048', FAMILIES => [{NAME => 'Standard1', BLOOMFILTER => 'ROW', REPLICATION_SCOPE =
                                   > '0', VERSIONS => '1', COMPRESSION => 'NONE', TTL => '86400000', BLOCKSIZE => '4096', IN_MEMORY
                                   => 'true', BLOCKCACHE => 'true'}, {NAME => 'Standard2', BLOOMFILTER => 'ROW', REPLICATION_SCOPE =
                                   > '0', VERSIONS => '1', COMPRESSION => 'NONE', TTL => '86400000', BLOCKSIZE => '4096', IN_MEMORY
                                   => 'true', BLOCKCACHE => 'true'}]}}                                                             
Keyspace1,,1286872546310.275bb305 column=info:server, timestamp=1287129843536, value=datanode-3:60020                             
a270083cd5a22cb007c0aea9.                                                                                                         
Keyspace1,,1286872546310.275bb305 column=info:serverstartcode, timestamp=1287129843536, value=1287129832854                       
a270083cd5a22cb007c0aea9.                                                                                                         
Keyspace1,user1010706264,12868725 column=info:regioninfo, timestamp=1286872574444, value=REGION => {NAME => 'Keyspace1,user10107062
74086.323fe8155461c7e24fa9294b08f 64,1286872574086.323fe8155461c7e24fa9294b08fbd6bb.', STARTKEY => 'user1010706264', ENDKEY => 'use
bd6bb.                            r1026581438', ENCODED => 323fe8155461c7e24fa9294b08fbd6bb, TABLE => {{NAME => 'Keyspace1', MAX_FI
                                   LESIZE => '16384', MEMSTORE_FLUSHSIZE => '2048', FAMILIES => [{NAME => 'Standard1', BLOOMFILTER =
                                   > 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', TTL => '86400000', BLO
                                   CKSIZE => '4096', IN_MEMORY => 'true', BLOCKCACHE => 'true'}, {NAME => 'Standard2', BLOOMFILTER =
                                   > 'ROW', REPLICATION_SCOPE => '0', VERSIONS => '1', COMPRESSION => 'NONE', TTL => '86400000', BLO
                                   CKSIZE => '4096', IN_MEMORY => 'true', BLOCKCACHE => 'true'}]}}                                 
Keyspace1,user1010706264,12868725 column=info:server, timestamp=1287129842825, value=datanode-1:60020                             
74086.323fe8155461c7e24fa9294b08f                                                                                                 
bd6bb.                                                                                                                            
Keyspace1,user1010706264,12868725 column=info:serverstartcode, timestamp=1287129842825, value=1287129832857                       
74086.323fe8155461c7e24fa9294b08f                                                                                                 
bd6bb.                             


 
           
分享到:
评论

相关推荐

    浪潮hadoop

    总之,Hadoop和HBase在大数据处理中提供了RDBMS无法比拟的优势,尤其是在非结构化数据、大规模批处理和低延迟访问方面。然而,RDBMS在事务处理和实时查询方面的优势仍不可忽视。因此,企业在选择数据存储和处理方案...

    hbase-apache离线官方文档

    根据给定的信息,我们需要从标题和描述中提取知识点,并利用部分内容进行补充。涉及的知识点主要围绕Apache HBase的离线官方文档进行阐述。 Apache HBase是基于Google Bigtable模型构建的开源、分布式、可扩展的...

    HBase权威指南中文版+官方文档

    文档中的内容基于HBase 0.95版本,相较于0.90版有较大的变化与补充。 - **文档更新与贡献方式**:文档存在未完全翻译或链接错误的情况,欢迎愿意参与翻译的人员在此处报名并下载修改后上传。贡献者的姓名将在文档中...

    Hadoop学习笔记

    这个“Hadoop学习笔记”涵盖了Hadoop生态系统中的核心组件,包括HDFS(Hadoop分布式文件系统)、HBase(一个分布式、列式存储的数据库)、Hive(数据仓库工具)以及Spark(一个快速、通用且可扩展的数据处理引擎)。...

    hadoop相关知识习题

    13. Hadoop API中,Configuration类可以获取HDFS系统的配置,FileStatus对象存储文件和目录的元数据,FSDataInputStream则用于读取HDFS文件。 这些知识点覆盖了Hadoop生态中的重要组件,如HBase、HDFS、Zookeeper和...

    HBase 官方文档

    - **Schema 创建**:指导如何在 HBase 中创建合理的表结构。 - **column families 的数量**:分析 column families 数量对性能的影响。 - **Rowkey 设计**:强调 Rowkey 设计的重要性,并给出最佳实践。 - **版本...

    HADOOP课件_大数据_hadoop_

    3. **HBase.pdf**:HBase是基于Hadoop的分布式列式数据库,适用于处理和存储非结构化和半结构化的大数据。它提供了实时读写能力,且能够水平扩展以处理PB级别的数据。HBase在Hadoop的HDFS上运行,适合需要低延迟随机...

    hbase-0.98.12.1-src.tar.gz

    HBase,作为Apache软件基金会的一个开源项目,是构建在Hadoop文件系统(HDFS)之上的分布式列式数据库,它提供了高可靠性、高性能、可伸缩的数据存储解决方案。HBase 0.98.12.1是其历史版本之一,这个版本包含了丰富...

    hadoop技术

    Hadoop是一个广泛使用的开源分布式存储和计算平台,它由...书中内容注重实战,强调了理论与实践相结合,旨在帮助读者快速掌握Hadoop及其生态圈的使用方法,并能够应用于实际工作中,快速成为大数据行业的专业人才。

    HBase 官方文档 中文版0.97.pdf

    文档中提到的HBase版本0.97较之前版本(如0.90)有了大幅度的更新和补充,包括了大量新内容和章节结构上的调整。文档中还提到了修订历史,指出文档经历了几个版本的升级,例如从0.94.x升级到0.96.x、0.92.x升级到...

    Hadoop配置文档

    在IT行业中,Hadoop是一个广泛使用的开源框架,主要用于大数据处理和分析。...同时,博文链接中的内容也可能是对这些知识点的补充和实践案例,有助于理论与实际操作相结合,提升Hadoop运维和开发能力。

    第4章-分布式数据库HBase.pdf

    HBase作为分布式数据库的核心概念和知识点可以详细阐述如下: 1. 分布式存储系统BigTable的概念...它在大数据生态体系中的地位及对传统数据库的补充和扩展,使得它成为当前大数据存储和实时处理领域中的一个重要工具。

    后Hadoop时代的大数据架构

    此外,还有各种Hadoop生态系统内的工具,如Pig、Hive、HBase、Sqoop、Flume和ZooKeeper等,它们分别在数据分析、数据仓库、实时读写、数据迁移、日志收集和分布式协调等方面发挥了作用。 Pig是针对大数据集的分析...

    hbase权威指南

    传统的关系型数据库在水平扩展、处理大规模数据集以及非结构化数据方面存在挑战,因此需要NoSQL数据库系统来补充甚至替代传统数据库系统。书中还提到了Sharding(数据分片)的概念,这是为了提高数据库的扩展性和...

    hadoop资料大全-欢迎来下载

    在描述中提到了一个博客链接,虽然具体内容无法在这里直接引用,但通常博主会分享一些个人经验、项目案例或者对Hadoop深入的理解,这可能是补充学习Hadoop的重要资源。博客地址为 ...

    hadoop 分布式集群大数据云计算源码视频教程.zip

    在压缩包中的文本文件"hadop 分布式集群大数据云计算源码视频教程.txt"中,可能包含了课程大纲、课件摘要、实战项目介绍等补充材料,供学习者参考和复习。 总之,这套教程是学习和提升Hadoop、大数据处理和云计算...

    spark+hadoop大数据处理学习笔记

    在提供的文件中,我们看到有`mahout-recommendation.iml`,这可能涉及到Apache Mahout,一个基于Hadoop的机器学习库。Mahout提供了多种推荐算法,可以与Spark结合使用,实现大规模的推荐系统。`pom.xml`文件通常用于...

    《Hadoop权威指南(第四版)》中文PDF+英文PDF+源代码.zip

    此外,书中还深入讨论了Hadoop的扩展组件,如HBase,一个基于HDFS的分布式数据库,适合实时查询大规模结构化数据;Hive,一个数据仓库工具,用于查询和管理存储在Hadoop上的大型数据集;Pig,一个高级数据流语言和...

Global site tag (gtag.js) - Google Analytics