HBase原理與實踐

HBase原理與實踐

作者: 胡 爭 範欣欣
出版社: 機械工業
出版在: 2019-09-01
ISBN-13: 9787111634959
ISBN-10: 7111634950





內容描述


本書系統介紹HBase基本原理與運行機制,融入了作者多年的開發經驗與實踐技巧。主要內容包括:HBase的體系結構和系統特性,HBase的基礎數據結構與算法、依賴服務、客戶端,RegionServer的核心模塊,HBase的讀寫流程,Compaction實現原理和使用策略,負載均衡的實現與應用,HBase的宕機恢復原理,復制、備份與恢復原理,HBase的運維方法、系統調優與案例分析,最後介紹了HBase 2.x的核心技術,以及一些高級話題,如二級索引、單行事務、跨行事務、HBase開發與測試等。


目錄大綱


前言
第1章HBase概述
1.1HBase前生今世
1.2HBase數據模型
1.2.1邏輯視圖
1.2.2多維稀疏排序Map
1.2.3物理視圖
1.2.4行式存儲、列式存儲、列簇式存儲
1.3HBase體系結構
1.4 HBase系統特性
第2章基礎數據結構與算法
2.1跳躍表
2.2 LSM樹
2.3布隆過濾器
2.4設計KV存儲引擎Minibase
2.5拓展閱讀
第3章HBase依賴服務
3.1ZooKeeper簡介
3.2HDFS簡介
3.4拓展閱讀
第4章HBase客戶端
4.1 HBase客戶端實現
4.1.1定位Meta表
4.1.2 Scan的複雜之處
4.2 HBase客戶端避坑指南
第5章RegionServer的核心模塊
5.1 RegionServer內部結構
5.2 HLog
5.2.1 HLog文件結構
5.2.2 HLog文件存儲
5.2.3 HLog生命週期
5.3 MemStore
5.3.1 MemStore內部結構
5.3.2 MemStore的GC問題
5.3.3 MSLAB內存管理方式
5.3.4 MemStore Chunk Pool
5.3.5 MSLAB相關配置
5.4 HFile
5.4 .1 HFile邏輯結構
5.4.2 HFile物理結構
5.4.3 HFile的基礎Block
5.4.4 HFile中布隆過濾器相關的Block
5.4.5 HFile中索引相關的Block
5.4.6HFile文件查看工具
5.5 BlockCache
5.5.1 .LRUBlockCache
5.5.2.SlabCache
5.5.3.BucketCache
5.5.4.不同BlockCache方案性能對比
5.6拓展閱讀
第6章HBase讀寫流程
6.1 HBase寫入流程
6.1.1寫入流程的三個階段
6.1.2 Region寫入流程
6.1.3 MemStore Flush
6.2 BulkLoad功能
6.2.1 BulkLoad核心流程
6.2.2 BulkLoad基礎案例
6.3 HBase讀取流程
6.3.1 Client-Server讀取交互邏輯
6.3.2 Server端Scan框架體系
6.3.3過濾淘汰不符合查詢條件的HFile
6.3.4HFile中讀取待查找Key
思考與練習
6.4深入理解Coprocessor
6.4.1 Coprocessor分類
6.4.2 Coprocessor加載
第7章Compaction實現
7.1 Compaction基本工作原理
7.1.1 Compaction基本流程
7.1.2 Compaction觸發時機
7.1. 3待合併HFile集合選擇策略
7.1.4挑選合適的線程池
7.1.5 HFile文件合併執行
思考與練習
7.1.6Compaction相關注意事項
7.2 Compaction高級策略
第8章負載均衡實現
8.1 Region遷移
8.2 Region合併
8.3 Region分裂
8.4 HBase的負載均衡應用
8.5拓展閱讀
第9章宕機恢復原理
9.1 HBase常見故障分析
9.2 HBase故障恢復基本原理
9.3 HBase故障恢復流程
 
第10章複製
10.1複製場景及原理
10.1.1管理流程的設計和問題
10.1.2複製原理
10.2串行複制
10.2.1非串行複製導致的問題
10.2.2串行複制的設計思路
思考與練習
10.3同步複製
10.3.1設計思路
10.3.2同步複製和異步複製對比
10.4拓展閱讀
第11章備份與恢復
11.1 Snapshot概述
11.2 Snapshot創建
11.2. 1 Snapshot技術基礎原理
11.2.2在線Snapshot的分佈式架構——兩階段提交
11.2.3 Snapshot核心實現
11.3 Snapshot恢復
11.4 Snapshot進階
11.5拓展閱讀
第12章HBase運維
12.1 HBase系統監控
12.1.1 HBase監控指標輸出方式
12.1. 2 HBase核心監控指標
12.1.3 HBase表級監控
12.2 HBase集群基準性能測試
12.3 HBase YCSB
12.4 HBase業務隔離
12.5 HBase Shell
12.6 HBase HBCK
12.8 HBase核心參數配置
12.8 HBase系統相關日誌
12.9 HBase表設計
第13章HBase系統調優
13.1 HBase GC調優
13.2 G1 GC性能調優
13.2.1 CMS和G1 GC的本質區別
13.2.2測試環境
13.2.3 G1 GC核心參數
13.2.4初始參數效果
13.3 HBase操作系統調優
13.4 HBase- HDFS調優策略
13.5 HBase讀取性能優化
13.5.1HBase服務器端優化
13.5.2 HBase客戶端優化
13.5.3 HBase列簇設計優化
13.6 HBase寫入性能調優
13.6.1 HBase服務器端優化
13.6.2 HBase客戶端優化
第14章HBase運維案例分析
14.1 RegionServer宕機
案例一:長時間GC導致RegionServer宕機
案例二:系統嚴重Bug導致RegionServer宕機
14.2 HBase寫入異常
案例一:MemStore佔用內存大小超過設定閾值導致寫入阻塞
案例二:RegionServer Active Handler資源被耗盡導致寫入阻塞
案例三:HDFS縮容導致部分寫入異常
14.3總結: HBase運維時問題分析思路
第15章HBase2.x核心技術
15.1 Procedure功能
15.2 In Memory Compaction
15.3 MOB對象存儲
15.4 Offheap讀路徑和Offheap寫路徑
15.5異步化設計
第16章高級話題
16.1二級索引
16.2單行事務和跨行事務
16.3 HBase開發與測試
16.3.1 HBase社區運作機制
16.3.2項目測試
16.3.3拓展閱讀
附錄A HBase熱門問題集錦


作者介紹


胡爭
小米公司HBase工程師,Apache HBase PMC成員,負責Apache HBase項目研發及小米HBase集群維護,對HBase及相關分佈式存儲系統有很多獨到的見解。開源技術愛好者,長期活躍在Apache開源社區,熱衷技術分享
 
範欣欣
現就職於網易杭州研究院數據科學中心,負責HBase以及分佈式時序數據庫的內核開發運維工作,對HBase的底層工作原理進行了長時間的探索和深入研究,撰寫了大量有關HBase和時序數據庫相關的技術文章,深受讀者好評。此外,對大數據生態以及數據倉庫也有深刻而獨到的理解。




相關書籍

大數據開發者權威教程 NoSQL Hadoop組件及大數據實施

作者 WROX國際IT認證項目組

2019-09-01

SQL Server從入門到精通(第3版)

作者 明日科技

2019-09-01

OpenTSDB 技術內幕

作者 百裡燊

2019-09-01