HBase應用架構
內容描述
當對大量數據構建索引的時候,HBase是一個出色的工具,但是從零開始學習分佈式數據庫及其生態系統是一件讓人望而卻步的事情。通過手把手的指導和對真實環境中案例的闡釋,你將學會如何架構、設計,以及部署你自己的HBase應用程序。除了HBase原理和集群部署指南之外,本書通過對案例的深入研究,展示了大型企業如何利用HBase解決具體問題的用例。
本書提供了基本的解決方案和代碼示例來幫助你實現自己的用例,包括主數據管理(MDM)和文件系統,以及準實時事件處理。你也能學習使用故障排除的方法來幫你避免部署時出現的一些問題。
學習HBase能用來做什麽,其生態系統包括哪些組件以及如何搭建你的環境。
探索現實世界中HBase實例如何部署並投入生產環境。
查驗用於追蹤監控索賠的記錄用例,並診斷數據管理以及產品質量。
理解HBase如何和Spark、kafka、MapReduce,以及Java API一起使用。
學習如何識別最常見的HBase問題,並理解其結果。
目錄大綱
序1
前言3
第一部分HBase概述
第1章什麼是HBase 11
面向列與面向行13
實現和使用示例13
第2章HBase原理15
表格式列族15
表的內部操作22
依賴27
HBase角色27
第3章HBase生態系統32
監控工具32
SQL 40
框架42
第4章HBase規模預估和調優概述45
硬件46
存儲46
網絡47
操作系統調優48
Hadoop調優49
HBase調優50
負載不均調優52
第5章環境設置54
系統要求55
HBase單機安裝58
虛擬機中的HBase 61
本地與VM 62
故障排除63
第一步65
偽分佈式模式和全分佈式模式73
第二部分用例
第6章用例:HBase作為一個記錄系統77
攝取/預處理78
處理/服務79
用戶體驗84
第7章底層存儲引擎的實現87
表設計87
數據轉換92
HFile校驗98
批量加載99
數據索引104
數據檢索107
更進一步109
第8章用例:近實時事件處理111
攝取/預處理114
近實時事件處理115
處理/服務116
第9章近實時實現事件處理119
應用流121
實施125
進一步144
第10章用例:HBase作為主數據管理工具145
攝取146
處理148
第11章主數據管理工具HBase的實現150
MapReduce與Spark 150
Spark與HBase交互151
Spark結合HBase實現152
進一步162
第12章用例:文檔存儲163
數據服務165
數據攝取166
清理168
第13章文檔存儲的實現169
MOB 169
數據一致性174
進一步175
第三部分疑難問題的定位和排錯
第14章region過多179
後果179
原因180
解決方案181
防範188
第15章列族過多191
後果192
原因、解決方案和預防193
第16章熱點196
後果196
原因196
防範和解決方案200
第17章超時和垃圾回收201
後果201
原因203
解決方案205
預防205
第18章HBCK和不一致210
HBase文件系統佈局210
查看META表211
在HDFS上查看HBase 212
HBCK概述214
使用HBCK 215
作者介紹
Jean-Marc Spaggiari,自2012年來是HBase的contributor,作為Cloudera的HBase精通解決方案架構師,他一直從事著Hadoop和HBase的技術支持和諮詢工作。他曾經與北美洲一些很大的HBase用戶一起工作。
Kevin O'Dell,自2012年來是HBase的contributor,作為Rocana的現場工程師,他和客戶一起設計並完成大規模的IT運營。此外,他還在HBaseCon、HadoopSummit及一些Hadoop用戶組做過分享。