![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
HBase代码分析
文章平均质量分 90
Xyxxi
这个作者很懒,什么都没留下…
展开
-
2021SC@SDUSC HBase(十五)项目代码分析—— WAL 在 RegionServer 基本调用过程
2021SC@SDUSC目录简述简述原创 2021-12-12 14:00:00 · 316 阅读 · 0 评论 -
2021SC@SDUSC HBase(十四)项目代码分析——WAL生命周期
2021SC@SDUSC目录一、简述二、WAL写入三、WAL滚动四、WAL失效五、WAL删除一、简述WAL的生命周期主要包括WAL的写入、滚动、失效和删除二、WAL写入WAL写入详解三、WAL滚动通过wal日志切换,这样可以避免产生单独的过大的wal日志文件,这样可以方便后续的日志清理(可以将过期日志文件直接删除)另外如果需要使用日志进行恢复时,也可以同时解析多个小的日志文件,缩短恢复所需时间。wal触发切换的场景有如下几种:SyncRunner线程在处理日志同步后,如果有异常发生,就会原创 2021-12-11 12:00:00 · 285 阅读 · 0 评论 -
2021SC@SDUSC HBase(十三)项目代码分析——WAL写入
2021SC@SDUSC目录一、简述二、机制三、线程模型四、具体实现五、总结一、简述Hbase 的 WAL 机制是保证 hbase 使用 lsm 树存储模型把随机写转化成顺序写,并从内存 read 数据,从而提高大规模读写效率的关键一环。wal 的多生产者单消费者的线程模型让wal的写入变得安全而高效。WAL(Write-Ahead Logging)是数据库系统中保障原子性和持久性的技术,通过使用WAL可以将数据的随机写入变为顺序写入,可以提高数据写入的性能。在hbase中写入数据时,会将数据写入内原创 2021-12-08 22:01:16 · 1559 阅读 · 0 评论 -
2021SC@SDUSC HBase(十二)项目代码分析——snapshot
2021SC@SDUSC目录一、简述二、实现RestoreSnapshotHandler一、简述上一篇讲述了snapshot的使用,包括snapshot的基础原理、实现(启用的表以及被禁用的表)、功能,这一篇讲述怎么从snapshot中恢复表。二、实现恢复表的方法是restoreSnapshot,这个方法位于HMaster中。if (MetaReader.tableExists(master.getCatalogTracker(), tableName)) { if (master.getA原创 2021-11-30 10:56:46 · 1631 阅读 · 0 评论 -
2021SC@SDUSC HBase(十一)项目代码分析——snapshot
2021SC@SDUSC目录一、简述二、基础原理三、实现启用的表:被禁用的表:四、功能一、简述snapshot是很多存储系统和数据库系统都支持的功能。一个snapshot是一个全部文件系统或者某个目录在某一时刻的镜像。二、基础原理实现数据文件镜像最简单粗暴的方式是加锁拷贝(之所以需要加锁,是因为镜像得到的数据必须是某一时刻完全一致的数据),拷贝的这段时间不允许对原数据进行任何形式的更新删除,仅提供只读操作,拷贝完成之后再释放锁。这种方式涉及数据的实际拷贝,数据量大的情况下必然会花费大量时间,长时间原创 2021-11-24 13:00:00 · 271 阅读 · 0 评论 -
2021SC@SDUSC HBase(十)项目代码分析——HBase的压缩编码
2021SC@SDUSC目录一、简述二、key的编码一、简述在存储层面节省空间的处理上,HBase提供了两种方案:1、基于key的编码。用于将key重复部分进行简单处理达到节约空间的目的。2、基于数据库(data block)的压缩。对数据块进行压缩,实现节省硬盘。二、key的编码主要是针对于key很长而且有大量部分重复的场景,如果key大部分长得不一样,那么编码几乎没有优势:prefix...原创 2021-11-19 11:30:00 · 1398 阅读 · 0 评论 -
2021SC@SDUSC HBase(九)项目代码分析——数据模型
2021SC@SDUSC目录一、简述二、数据模型三、KeyValue四、表定义和列族定义五、使用KeyValue六、总结一、简述HBase是一个KeyValue型的数据库,核心存储结构是KeyValue类,这个类定义了HBase的数据模型,并贯穿了HBase的整个读写链路。同时HBase自身的元数据管理也是使用了业务表相同的模式。二、数据模型Table(表格)一个HBase表格由多行组成Row(行)HBase中的行里面包含一个key和一个或者多个包含值的列。行按照行的key字母顺序存储在表格原创 2021-11-14 22:36:31 · 1770 阅读 · 0 评论 -
2021SC@SDUSC HBase(八)项目代码分析——Region机制(五)之Region负载均衡
目录一、概述二、负载均衡四、总结一、概述在分布式系统中,负载均衡是一个非常重要的功能,HBase中Region是表按行方向切分的一个个数据区域,由RegionServer负责管理,并向外提供数据读写服务。如果一个RegionServer上的Region过多,那么该RegionServer对应的就会承担过多的读写等服务请求,也就有可能在高并发访问的情况下,造成服务器性能下降甚至宕机。如此,RegionServer间Region的动态负载均衡,也就成了HBase实现高性能读写请求访问的一个需要解决的问题。原创 2021-11-11 06:00:00 · 916 阅读 · 0 评论 -
2021SC@SDUSC HBase(七)项目代码分析——Region机制(四)之Region Merge合并
目录一、简述二、Region合并1、Merge的触发2、Merge的流程3、如何进行region合并4、如果在合并region的过程中出现永久RIT三、总结一、简述HBasee中表的基本单位是Region,日常在调用HBase API操作一个表时,交互的数据也会以Region的形式进行呈现。当一个Region被不断的写数据,达到Region的Split的阀值时(由属性hbase.hregion.max.filesize来决定,默认是10GB),该Region就会被Split成2个新的Region。随着业原创 2021-11-08 21:47:44 · 456 阅读 · 0 评论 -
2021SC@SDUSC HBase(六)项目代码分析——Region机制(三)之Region定位
目录一、初步认识region定位Meta表Region定位Region定位总结一、初步认识region定位在 HBase 中,表的所有行都是按照 RowKey 的字典序排列的,表在行的方向上分割为多个分区(Region),如下图所示。每张表一开始只有一个 Region,但是随着数据的插入,HBase 会根据一定的规则将表进行水平拆分,形成两个 Region。当表中的行越来越多时,就会产生越来越多的 Region,而这些 Region 无法存储到一台机器上时,则可将其分布存储到多台机器上。Meta表原创 2021-10-31 23:44:34 · 1977 阅读 · 0 评论 -
2021SC@SDUSC HBase(五)项目代码分析——Region机制(二)之Region分区
2021SC@SDUSC目录原创 2021-10-24 12:49:14 · 253 阅读 · 0 评论 -
2021SC@SDUSC HBase(四)项目代码分析——Region机制(一)之概念
2021SC@SDUSC目录一、Region概念一、Region概念Region是HBase集群分布数据的最小单位。Region是部分数据,所以是所有数据的一个自己,但Region包括完整的行,所以Region是行为单位表的一个子集。原创 2021-10-21 23:30:59 · 258 阅读 · 0 评论 -
2021SC@SDUSC HBase(三)项目代码分析——RPC通信(下)
2021SC@SDUSC目录一、RPC简介二、HBase中RPC概况Server端RPC实现Client端RPC实现1、HBaseRPC getProxy入口2、getConnection()方法3、SelectorPool的select4、call5、Reader/Writer IO操作三、总结一、RPC简介作为一个分布式系统,HBase的设计是典型的master-salve架构,HBase中主要有Master,RegionServer,Client三个角色,而RPC是Master、RegionSe原创 2021-10-17 20:35:04 · 214 阅读 · 0 评论 -
2021SC@SDUSC HBase(二)项目代码分析——RPC通信(上)
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-10-06 22:47:36 · 325 阅读 · 0 评论 -
2021SC@SDUSC HBase(一) 项目综述
2021SC@SDUSC目录一、HBase概述什么是HBaseHBase模块HBase中相关模块的作用逻辑模型特点1.半结构化数据:2.可扩展性:3.有序映射的映射集合:二、HBase安装与配置centos下安装HBaseZookeeper安装与配置HBase Shell验证环境三、任务划分一、HBase概述什么是HBaseHbase是一种构建在HDFS之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统,主要用来存储非结构化和半结构化的松散数据。HBase利用hadoop HDFS作为原创 2021-09-29 13:47:18 · 163 阅读 · 0 评论