小象学院hbase进阶课程代码exportweek_第1页
小象学院hbase进阶课程代码exportweek_第2页
小象学院hbase进阶课程代码exportweek_第3页
小象学院hbase进阶课程代码exportweek_第4页
小象学院hbase进阶课程代码exportweek_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、身在庐山HBase静态架构分析用户表小象学院-ROOT-与.META.小象学院总体架构小象学院数据写入小象学院StoreFile结构小象学院KeyValue结构小象学院们:ChinaHadoop公号:ChinaHadoop!换个视角通过客户端请求处理过程再次了解HBase原理HBase组件回顾zookeeper客户端HDFS小象学院Region ServerRegion ServerMasterMaster以HBase的使用带入HBase的原理DDL之建表DDL操作与集群控制操作建表eperzookeeper标记表enable状态Master这是NAME = META ISMETA小象学Str

2、oeStroeFileFile StroeFileStroeStroeFileFileR决定region分配以HBase的使用带入HBaseDDL操作与集群控制操作理DD修改表修改前需要标记表enableasterzookeeper修改后需要ena le(指定hbase.online.schema.update enable为true可HDFS新版o pe节n region默新版region描述文件:/hbase根节点/data/namespac名(默认为default)/表加载.regioninfo中的信息名/regionid/.regioninfo加载列族中S t o reFile的文件

3、息新版StoreFile路径描述文件:/hbase根节点/表名/*(regigoino_nid_i)d/./r列eg族io名ni/nSftooreFile_id旧版region:/hbase根节点/data/namespace旧版StoreFile路径:/hbase根节点/表名/regi(region_id与StoreFile_id是_id/列族名/StoreFile_id机生成的)(region在分布式流程处理的不同阶段中,在zook程正常结束er中会被标记成不同状态,直到流Region ServerRegion Server.MA.表RegionRegionRegionRegion以HBa

4、se的使用带入HBase的原理数据操作之PUT数据操作PUT-ROOT-位置(namespace)zookeeper客端但是么?其位置在哪?Region ServerRegion Server小象学院-ROOT-.META.Region以HBase的使用带入HBpaction的原理以及和egion Servergion公用总内存阈值阈o部 分Store F参与合并全部Store Fil与合 并,称majorcompactio标记删除以及余的版本会被理删除不同的列族会不同的时刻compactio小Region多个数据块e值n多个元数据块mStoreFile数量过多达到合并多个StoreFilei

5、leFilefileInfo块这个过程称为Compacti称Bloom过滤器索引e参作HFile文件尾nStroeStroe多leFile物Store File在五合 一roeStroe leFilenStore. (列族)Mems数据索引块 Stroe 元数据索引块PUTpaction以HBase的使用带入HBase的原理和后都会自我反省我是不是太胖了 (该Split了)Region Server首次Compaction后,根据文件生成数据文件HDFSMaster负责删除已下线且不被引用的父region文件小象学院子 Region目录子Region0Region子Region1以HBase的

6、使用带入HBase的原理-StoreFile生成详解在较旧的版本或hfile.format.ver配置为1时会写入过滤器内容新版本中没有内容timerange最早put时间hlogid各block数量&偏移量压缩类型&原始长度 key value数量等小象学院KeyValueKeyValueKeyValueKeyValueKeyValueKeyValueKeyValueDataBlockKeyValueDataBlockIndexBlock& BloomFilterBlockDataBlockIndexBlock& BloomFilterBlockMetaBlockDataBlockIndex

7、MetaBlockIndexFileInfoBloomFilterIndex文件结尾以HBase的使用带入HBase的原理数据操作之DELETEDeleteColumnRowkeyFamilyQualifierTimestTypeByte(删除列中小于等于时间戳的)DeleteFamilyRowkeyFamilyTimestTypeByte(删除列族中小于等于时间戳的)DeleteFamilyVerRowkeyFamilyTimestTypeByte(删除列族中时间戳相等的)DeleteRowkeyFamilyQualifierTimestTypeBytePutRowkeyFamilyQual

8、ifierTimestTypeByteValue以HBase的使用带入HBase的原理数据操作之SCAN数据操作SCANGET最终会被转为SCAN处理端确定region位置的逻辑DataBlockIndexBlock& BloomFilterBlock如果可以回结DataBlock则继续nextRegion SerIndexBlock&BloomFilterBlock更新ResultStoreScannernerId leas (租期 到期时间戳)同一rowkeyfilter过滤MetaBlockKeyValueKeyValueKeyValueKeyValueStoreFileMemStore

9、StoreFileStoreFileScannerScannerScannerScannerDataBlockIndexMsSFeMetaBlockIndexSeF eSeF eFileInfoBloomFilterIndex文件结 尾中HLogseekseekseekseekScannernnerId返果以HBase的使用带入HBase的原理容灾容灾!容灾!Masteropen region确定region新过程 中位置 replay logegiongionrveregionervererversplitting logHD小象学院HLogSplitedHLogSplited HLogSp

10、lited HLogHLogHLogSplitedHLogHLogFRegion旧旧RegionReSeRegionRegion们:ChinaHadoop公号:ChinaHadoop!数据怎么存社区文档之外的HBase表结构设计建议阅读社区中文参考指南(单页)第六章/hbase/book.html#schema小象学院列族与列列族间 读写相关性弱,不同时读写 同时读写需要文件参与列族中的列读写相关性强,同时读写不建议读写相关性不高的列被设计进同一个列族写入时被分到多个StoreFile Get时扫描多个文件 可以使用RowCol,但是会占用Scan时需要过滤不需要的其他列的数据小象学院多列族代

11、替关系计算过去小象学院学号Sno课程号Cno成绩Grade95001950019500295002323889080课程 号Cno课程 名Cname学分Ccredit7数据库数学 信息系统操作系统数据结构数据处理PASCAL语言24学号Sno所在 系SdeptSnameSsexSage95001950029500395004男女女男20191819计算机系信息系数学系信息系多列族代替关系计算现在,解决方案一会有冗余、不满足范式满足查询学生信息、查询学生成绩信息以及两者的联合查询小象学院学生信息列族Student成绩信息列族GradeRowkey学号name课程 名Cname学分Credit成绩

12、Grade9500195001数据库49295001数学2859500295002数学290多列族代替关系计算现在,解决方案二会有冗余、不满足范式满足查询学生信息、查询学生成绩信息以及两者的联合查询按照课程名排序类似的如果需要按照多个key排序,需要key宽度相同例如学号、成绩、学分依次排序:95001098004学号95001、成绩92.00(为了兼容100与0.5)、学分4分(保留一位兼容10+)小象学院数据在学生信息列族Student成绩信息列族GradeRowkey学号name学分Credit成绩Grade9500195001数据库49295001数学2859500295002数学29

13、0多列族代替关系计算不要让rowkey过长增加索引大小增加bloomfilter block占用内存减少随机读小象学院建表时的选项KEEP_DELETED_CELLSVER设置它,可以知道在某个时间点前S固定集合是否存在BLOOMFILTERROW基本够用ROWCOL会占用较多内存 NONE适合只有全表扫描BLOCKSIZE决定一个datablock中能够存放多少数据影响查找长度MAX_FILESIZE决定每个region最大总文件大小超过此值则进行split regionMEMSTORE_FLUSHSIZE表独自的flush阈值如果全局memstore大小达到阈值也会flushDEFERRE

14、D_LOG_FLUSH异步hlog写入提高写入效率,有数据丢失风险NUMREGIONS与SPLITALGO预分regionJAVA API中更加灵活小象学院DataBlockIndexBlock&BloomFilterBlockDataBlockIndexBlock&BloomFilterBlockMetaBlockDataBlockIndexMetaBlockIndexFileInfoBloomFilterIndex文件结尾合理控制region数量影响查找长度和效率的不会因为region总文件大小过大而受到影响region是否均匀分布在集群中datablock中的数据量region server的handler数量region数量过多meta表变大容灾和负载均衡负担增加容灾时zookeeper数据量变大平均恢复时间变长小象学院合理控制region数量合理分担scan、get、put到每个region server对于一个表每个region server上的region数过多无益每个region中的数据量最好近似region数合理后禁用split region将MAX_FIL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论