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 Standard1BLOOMFILTERNONEREPLICATION_SCOPE0COMPRESSIONNONEVERSIONS1TTL86400000 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 historianBLOOMFILTERNONEREPLICATION_SCOPE0COMPRESSIONNONEVERSIONS
2147483647TTL604800 BLOCKSIZE8192 IN_MEMORYfalse
BLOCKCACHEfalseinfoBLOOMFILTERNONEREPLICATION_SCOPE0COMPRESSIONNONEVERSIONS10TTL
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_METAtrueinfoBLOOMFILTERNONEREPLICATION_SCOPE0COMPRESSIONNONEVERSIONS10TTL
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 Standard1BLOOMFILTERROWREPLICATION_SCOPE0VERSIONS1COMPRESSIONNONETTL86400000 BLOCKSIZE65536 IN_MEMORYtrue
BLOCKCACHEtrue Standard2BLOOMFILTERROWREPLICATION_SCOPE0VERSIONS1COMPRESSIONNONETTL86400000 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和HBase在大数据处理中提供了RDBMS无法比拟的优势,尤其是在非结构化数据、大规模批处理和低延迟访问方面。然而,RDBMS在事务处理和实时查询方面的优势仍不可忽视。因此,企业在选择数据存储和处理方案...
根据给定的信息,我们需要从标题和描述中提取知识点,并利用部分内容进行补充。涉及的知识点主要围绕Apache HBase的离线官方文档进行阐述。 Apache HBase是基于Google Bigtable模型构建的开源、分布式、可扩展的...
文档中的内容基于HBase 0.95版本,相较于0.90版有较大的变化与补充。 - **文档更新与贡献方式**:文档存在未完全翻译或链接错误的情况,欢迎愿意参与翻译的人员在此处报名并下载修改后上传。贡献者的姓名将在文档中...
这个“Hadoop学习笔记”涵盖了Hadoop生态系统中的核心组件,包括HDFS(Hadoop分布式文件系统)、HBase(一个分布式、列式存储的数据库)、Hive(数据仓库工具)以及Spark(一个快速、通用且可扩展的数据处理引擎)。...
13. Hadoop API中,Configuration类可以获取HDFS系统的配置,FileStatus对象存储文件和目录的元数据,FSDataInputStream则用于读取HDFS文件。 这些知识点覆盖了Hadoop生态中的重要组件,如HBase、HDFS、Zookeeper和...
- **Schema 创建**:指导如何在 HBase 中创建合理的表结构。 - **column families 的数量**:分析 column families 数量对性能的影响。 - **Rowkey 设计**:强调 Rowkey 设计的重要性,并给出最佳实践。 - **版本...
3. **HBase.pdf**:HBase是基于Hadoop的分布式列式数据库,适用于处理和存储非结构化和半结构化的大数据。它提供了实时读写能力,且能够水平扩展以处理PB级别的数据。HBase在Hadoop的HDFS上运行,适合需要低延迟随机...
HBase,作为Apache软件基金会的一个开源项目,是构建在Hadoop文件系统(HDFS)之上的分布式列式数据库,它提供了高可靠性、高性能、可伸缩的数据存储解决方案。HBase 0.98.12.1是其历史版本之一,这个版本包含了丰富...
Hadoop是一个广泛使用的开源分布式存储和计算平台,它由...书中内容注重实战,强调了理论与实践相结合,旨在帮助读者快速掌握Hadoop及其生态圈的使用方法,并能够应用于实际工作中,快速成为大数据行业的专业人才。
文档中提到的HBase版本0.97较之前版本(如0.90)有了大幅度的更新和补充,包括了大量新内容和章节结构上的调整。文档中还提到了修订历史,指出文档经历了几个版本的升级,例如从0.94.x升级到0.96.x、0.92.x升级到...
在IT行业中,Hadoop是一个广泛使用的开源框架,主要用于大数据处理和分析。...同时,博文链接中的内容也可能是对这些知识点的补充和实践案例,有助于理论与实际操作相结合,提升Hadoop运维和开发能力。
HBase作为分布式数据库的核心概念和知识点可以详细阐述如下: 1. 分布式存储系统BigTable的概念...它在大数据生态体系中的地位及对传统数据库的补充和扩展,使得它成为当前大数据存储和实时处理领域中的一个重要工具。
此外,还有各种Hadoop生态系统内的工具,如Pig、Hive、HBase、Sqoop、Flume和ZooKeeper等,它们分别在数据分析、数据仓库、实时读写、数据迁移、日志收集和分布式协调等方面发挥了作用。 Pig是针对大数据集的分析...
传统的关系型数据库在水平扩展、处理大规模数据集以及非结构化数据方面存在挑战,因此需要NoSQL数据库系统来补充甚至替代传统数据库系统。书中还提到了Sharding(数据分片)的概念,这是为了提高数据库的扩展性和...
在描述中提到了一个博客链接,虽然具体内容无法在这里直接引用,但通常博主会分享一些个人经验、项目案例或者对Hadoop深入的理解,这可能是补充学习Hadoop的重要资源。博客地址为 ...
在压缩包中的文本文件"hadop 分布式集群大数据云计算源码视频教程.txt"中,可能包含了课程大纲、课件摘要、实战项目介绍等补充材料,供学习者参考和复习。 总之,这套教程是学习和提升Hadoop、大数据处理和云计算...
在提供的文件中,我们看到有`mahout-recommendation.iml`,这可能涉及到Apache Mahout,一个基于Hadoop的机器学习库。Mahout提供了多种推荐算法,可以与Spark结合使用,实现大规模的推荐系统。`pom.xml`文件通常用于...
此外,书中还深入讨论了Hadoop的扩展组件,如HBase,一个基于HDFS的分布式数据库,适合实时查询大规模结构化数据;Hive,一个数据仓库工具,用于查询和管理存储在Hadoop上的大型数据集;Pig,一个高级数据流语言和...