第一部分 HBase基礎
第1章 HBase介紹
1.1 數據管理係統:速成
1.1.1 你好,大數據
1.1.2 數據創新
1.1.3 HBase的崛起
1.2 HBase使用場景和成功案例
1.2.1 典型互聯網搜索問題:BigTable發明的原因
1.2.2 抓取增量數據
1.2.3 內容服務
1.2.4 信息交換
1.3 你好HBase
1.3.1 快速安裝
1.3.2 HBase Shell命令行交互
1.3.3 存儲數據
1.4 小結
第2章 入門
2.1 從頭開始
2.1.1 創建錶
2.1.2 檢查錶模式
2.1.3 建立連接
2.1.4 連接管理
2.2 數據操作
2.2.1 存儲數據
2.2.2 修改數據
2.2.3 工作機製:HBase寫路徑
2.2.4 讀數據
2.2.5 工作機製:HBase讀路徑
2.2.6 刪除數據
2.2.7 閤並:HBase的後颱工作
2.2.8 有時間版本的數據
2.2.9 數據模型概括
2.3 數據坐標
2.4 小結
2.5 數據模型
2.5.1 邏輯模型:有序映射的映射集閤
2.5.2 物理模型:麵嚮列族
2.6 錶掃描
2.6.1 設計用於掃描的錶
2.6.2 執行掃描
2.6.3 掃描器緩存
2.6.4 使用過濾器
2.7 原子操作
2.8 ACID語義
2.9 小結
第3章 分布式的HBase、HDFS和MapReduce
3.1 一個MapReduce的例子
3.1.1 延遲與吞吐量
3.1.2 串行計算吞吐量有限
3.1.3 並行計算提高吞吐量
3.1.4 MapReduce:用布式計算最大化吞吐量
3.2 Hadoop MapReduce概覽
3.2.1 MapReduce數據流介紹
3.2.2 MapReduce內部機製
3.3 分布式模式的HBase
3.3.1 切分和分配大錶
3.3.2 如何找到region
3.3.3 如何找到-ROOT-錶
3.4 HBase和MapReduce
3.4.1 使用HBase作為數據源
3.4.2 使用HBase接收數據
3.4.3 使用HBase共享資源
3.5 信息匯總
3.5.1 編寫MapReduce應用
3.5.2 運行MapReduce應用
3.6 大規模條件下的可用性和可靠性
3.6.1 HDFS作為底層存儲
3.7 小結
第二部分 高級概念
第4章 HBase錶設計
4.1 如何開始模式設計
4.1.1 問題建模
4.1.2 需求定義:提前多做準備工作總是有好處的
4.1.3 均衡分布數據和負載的建模方法
4.1.4 目標數據訪問
4.2 反規範化是HBase世界裏的詞語
4.3 相同錶裏的混雜數據
4.4 行鍵設計策略
4.5 IO考慮
4.5.1 為寫優化
4.5.2 為讀優化
4.5.3 基數和行鍵結構
4.6 從關係型到非關係型
4.6.1 一些基本概念
4.6.2 嵌套實體
4.6.3 沒有映射到的一些東西
4.7 列族高級配置
4.7.1 可配置的數據塊大小
4.7.2 數據塊緩存
4.7.3 激進緩存
4.7.4 布隆過濾器
4.7.5 生存時間(TTL)
4.7.6 壓縮
4.7.7 單元時間版本
4.8 過濾數據
4.8.1 實現一個過濾器
4.8.2 預裝過濾器
4.9 小結
第5章 使用協處理器擴展HBase
5.1 兩種協處理器
5.1.1 Observer協處理器
5.1.2 endpoint協處理器
5.2 實現一個observer
5.2.1 修改模式
5.2.2 從HBase開始
5.2.3 安裝observer
5.2.4 其他安裝選項
5.3 實現一個endpoint
5.3.1 為endpoint定義接口
5.3.2 實現endpoint服務器
5.3.3 實現endpoint客戶端
5.3.4 部署endpoint服務器
5.3.5 試運行
5.4 小結
第6章 其他的HBase客戶端選擇
6.1 在UNIX裏使用HBase Shell腳本
6.1.1 準備HBase Shell
6.1.2 使用UNIX Shell腳本創建錶模式
6.2 使用JRuby進行HBase Shell編程
6.2.1 準備HBase Shell
6.2.2 訪問TwitBase的users錶
6.3 通過REST訪問HBase
6.3.1 啓動HBase REST服務
6.3.2 訪問TwitBase的users錶
6.4 通過Python使用HBase Thrift網關
6.4.1 生成Python語言的HBase Thrift客戶端庫
6.4.2 啓動HBase Thrift服務
6.4.3 掃描TwitBaseuser錶
6.5 asynchbase:另外一種HBase Java客戶端
6.5.1 創建一個asynchbase項目
6.5.2 改變TwitBase的密碼策略
6.5.3 試運行
6.6 小結
第三部分 應用係統實例
第7章 通過實例學習HBase:OpenTSDB
7.1 OpenTSDB概述
7.1.1 挑戰:基礎設施監控
7.1.2 數據:時間序列
7.1.3 存儲:HBase
7.2 設計一個HBase應用係統
7.2.1 模式設計
7.2.2 應用架構
7.3 實現一個HBase應用係統
7.3.1 存儲數據
7.3.2 查詢數據
7.4 小結
第8章 在HBase上查詢地理信息係統
8.1 運用地理數據
8.2 設計一個空間索引
8.2.1 從復閤行鍵開始
8.2.2 介紹geohash
8.2.3 理解geohash
8.2.4 在有空間感知特性的行鍵裏使用geohash
8.3 實現最近鄰居查詢
8.4 把計算工作推往服務器端
8.4.1 基於查詢多邊形創建一次geohash掃描
8.4.2 區域內查詢第一幕:客戶端
8.4.3 區域內查詢第二幕:WithinFilter
8.5 小結
第四部分 讓HBase運轉起來
第9章 部署HBase
9.1 規劃集群
9.1.1 原型集群
9.1.2 小型生産集群(10~20颱服務器)
9.1.3 中型生産集群(50颱以下服務器)
9.1.4 大型生産集群(超過50颱服務器)
9.1.5 Hadoop Master節點
9.1.6 HBase Master
9.1.7 Hadoop DataNode和HBase RegionServer
9.1.8 ZooKeeper
9.1.9 采用雲服務怎麼樣?
9.2 部署軟件
9.2.1 Whirr:在雲端部署
9.3 發行版本
9.3.1 使用原生Apache發行版本
9.3.2 使用Cloudera的CDH發行版本
9.4 配置
9.4.1 HBase配置
9.4.2 與HBase有關的Hadoop配置參數
9.4.3 操作係統配置
9.5 管理守護進程
9.6 小結
第10章 運維
10.1 監控你的集群
10.1.1 HBase如何輸齣監控指標
10.1.2 收集監控指標和圖形展示
10.1.3 HBase輸齣的監控指標
10.1.4 應用端監控
10.2 HBase集群的性能
10.2.1 性能測試
10.2.2 什麼影響瞭HBase的性能
10.2.3 優化支撐係統
10.2.4 優化HBase
10.3 集群管理
10.3.1 啓動和停止HBase
10.3.2 優雅停止和讓節點退役
10.3.3 增加節點
10.3.4 滾動重啓和升級
10.3.5 bin/hbase和HbaseShell
10.3.6 維護一緻性——hbck
10.3.7 查看HFile和HLog
10.3.8 預先拆分錶
10.4 備份和復製
10.4.1 集群間復製
10.4.2 使用MapReduce作業進行備份
10.4.3 備份根目錄
10.5 小結
附錄A 探索HBase係統
附錄B 更多關於HDFS的工作原理
· · · · · · (
收起)