学习笔记(1-3章)
本博客内容基本整理自《Hbase原理与实践》一书。仅用于个人学习和积累。
全书概述
《HBase原理与实践》共有16章,根据文章内容可以分为如下6个部分。
-
1.HBase基础部分: 包含第1、2章。其中,第1章主要介绍HBase系统的发展历史、数据模型以及体系结构,第2章主要介绍HBase系统中常用的数据结构以及基础算法。
-
2.HBase系统相关组件: 包含第3、4、5章。其中,第3章重点介绍HBase所依赖的核心组件,包括ZooKeeper、HDFS等,第4章介绍HBase客户端组件实现,第5章介绍RegionServer内部组件的实现。
-
3.HBase核心工作原理: 包含第6、7、8、9、10、11章。其中,第6章详细分析HBase读写流程,第7章介绍HBase Compaction的实现原理,第8章介绍HBase中Region的迁移、合并以及分裂等操作是如何实现的,第9章介绍RegionServer宕机后如何通过HLog进行数据恢复,第10章介绍HBase不同集群之间的复制是如何实现的,第11章介绍HBase如何通过Snapshot机制完成数据的备份和恢复。
-
4.HBase运维调优实践: 包含第12、13、14章。其中,第12章介绍HBase集群常用的运维管理操作,包括集群如何有效监控,基准性能如何测试等,第13章集中介绍HBase集群的常用调优技巧,第14章重点分析几个HBase实际运维案例,通过案例分析介绍HBase集群定位和处理问题的技巧。
-
5.HBase 2.x核心特性(第15章): 介绍HBase最新2.x版本的核心功能与特性。
-
6.HBase高级话题(第16章): 介绍社区中比较热门的二级索引话题,以及HBase内核的开发与测试。
1.HBase概述
1.1.Hbase发展历史
Hbase作为大数据中至关重要的一个组件,和其他很多组件一样,起源于Google当年风靡一时的“三篇论文”—GFS、MapReduce、BigTable。一家叫做Powerset的公司,为了高效处理自然语言搜索产生的海量数据实现了BigTable的开源版本—HBase,并在发展了2年之后被Apache收录为顶级项目,正式入驻Hadoop生态系统。
Hbase版本变迁:
注:2.x版本是接下来最受期待的一个版本(升级要慎重,请参考社区中的实践),因为最近一两年社区开发的新功能都将集中在2.x版本发布,2.x包含的核心功能特别多,包括:大幅度减小GC影响的offheap read path/write path工作,极大提升系统稳定性的Procedure V2框架,支持多租户隔离的RegionServe