該書強調HBase在企業的實際套用,立足於企業的實際生產環境,旨在幫助企業切實解決大數據技術如何落地的問題。該書內容在三個維度展開講解:功能維度,從HBase的安裝配置、參數設定,到數據模型、表結構設計、客戶端使用、高級特性,本書做了系統且詳盡的介紹;實戰維度,不僅通過3個典型的套用案例詳細講解了如何使用HBase設計大型的數據套用系統,而且還結合實際生產系統講解了HBase的集群運維、監控和性能調優;理論維度,則深入分析了HBase框架設計、模式設計和基本原理。
基本介紹
- 書名:HBase企業套用開發實戰
- 作者:馬延輝,孟鑫,李立松 著
- ISBN:9787111478324
- 類別:圖書 > 計算機與網際網路 > 雲計算與大數據
- 頁數:484
- 定價:¥89.00
- 出版社:機械工業出版社
- 出版時間:2014-09-01
- 裝幀:平裝
- 開本:16開
內容介紹,作者介紹,圖書目錄,
內容介紹
本書強調HBase在企業的實際套用,立足於企業的實際生產環境,旨在幫助企業切實解決大數據技術如何落地的問題。三位作者都是奮戰在中國大數據技術一線的實踐派專家,本書是他們實踐經驗的結晶。
本書內容在三個維度上具有重要特色:功能維度,從HBase的安裝配置、參數設定,到數據模型、表結構設計、客戶端使用、高級特性,本書做了系統且詳盡的介紹;實戰維度,不僅通過3個典型的套用案例詳細講解了如何使用HBase設計大型的數據套用系統,而且還結合實際生產系統講解了HBase的集群運維、監控和性能調優;理論維度,則深入分析了HBase、框架設計、模式設計和基本原理。可謂是理論與實踐完美結合,深度與廣度兼備!
作者介紹
馬延輝,資深Hadoop技術專家,對Hadoop生態系統相關技術有深刻的理解。曾就職於淘寶、Answers、暴風影音等知名網際網路公司,從事Hadoop相關的技術工作,在企業級的大數據系統的研發、運維和管理方面積累了豐富的實戰經驗。開源HBase監控工具Ella作者。在國內Hadoop社區內非常活躍,經常在各種會議和沙龍上做技術分享,深受歡迎。現在專注於大數據技術在傳統行業的落地,致力於大數據技術的普及和推廣。
孟鑫,資深Hadoop技術專家,在軟體行業從業近10年,對海量數據處理技術有著深刻的認識,曾負責Hadoop平台建設工作,在Hadoop開發和運維方面積累了大量的實戰經驗。於2013年獲取了Cloudera的Hadoop Developer認證,多次到企業和社區去分享Hadoop、HBase等方面的技術知識和經驗。對技術擁有極大的興趣,熱衷於研究各種新技術,總結和分享經驗及教訓,目前從事管理工作,但依然熱衷於產品設計和實現。
李立松,資深Hadoop技術專家,Easyhadoop技術社區創始人之一,對HDFS、MapReduce、HBase、Hive等Hadoop生態系統中的技術有比較深入的研究,在Hadoop開發方面積累了豐富的經驗。曾就職於暴風,負責暴風大數據平台開發與套用,暴風大數據項目負責人。現在就職於締元信,擔任Hadoop高級工程師,負責締元信DMP平台的研發工作。
孟鑫,資深Hadoop技術專家,在軟體行業從業近10年,對海量數據處理技術有著深刻的認識,曾負責Hadoop平台建設工作,在Hadoop開發和運維方面積累了大量的實戰經驗。於2013年獲取了Cloudera的Hadoop Developer認證,多次到企業和社區去分享Hadoop、HBase等方面的技術知識和經驗。對技術擁有極大的興趣,熱衷於研究各種新技術,總結和分享經驗及教訓,目前從事管理工作,但依然熱衷於產品設計和實現。
李立松,資深Hadoop技術專家,Easyhadoop技術社區創始人之一,對HDFS、MapReduce、HBase、Hive等Hadoop生態系統中的技術有比較深入的研究,在Hadoop開發方面積累了豐富的經驗。曾就職於暴風,負責暴風大數據平台開發與套用,暴風大數據項目負責人。現在就職於締元信,擔任Hadoop高級工程師,負責締元信DMP平台的研發工作。
圖書目錄
前言
第—部分基礎篇
第1章認識HBase
1.1理解大數據背景
1.1.1什麼是大數據
1.1.2為何大數據至關重要
1.1.3NoSQL在大數據中扮演的角色
1.2HBase是什麼
1.2.1HBase的發展歷史
1.2.2HBase的發行版本
1.2.3HBase的特性
1.3HBase與Hadoop的關係
1.4HBase的核心功能模組
1.4.1客戶端Client
1.4.2協調服務組件ZooKeeper
1.4.3主節點HMaster
1.4.4Region節點HRegionServer
1.5HBase的使用場景和經典案例
1.5.1搜尋引擎套用
1.5.2增量數據存儲
1.5.3用戶內容服務
1.5.4實時訊息系統構建
1.6本章小結
第2章HBase安裝與配置
2.1先決條件
2.2HBase運行模式
2.2.1單機模式
2.2.2分散式模式
2.3HBase的WebUI
2.4HBaseShell工具使用
2.5停止HBase集群
2.6本章小結
第3章數據模型
3.1兩類數據模型
3.1.1邏輯模型
3.1.2物理模型
3.2數據模型的重要概念
3.2.1表
3.2.2行鍵
3.2.3列族
3.2.4單元格
3.3數據模型的操作
3.3.1讀Get
3.3.2寫Pm
3.3.3掃描Scan
3.3.4刪除Delete
3.4數據模型的特殊屬性
3.4.1版本
3.4.2排序
3.4.3列的元數據
3.4.4連線查詢
3.4.5計數器
3.4.6原子操作
3.4.7事務特性ACID
3.4.8行鎖
3.4.9自動分區
3.5CAP原理與最終一致性
3.6本章小結
第4章HBase表結構設計
4.1模式創建
4.2Rowkey設計
4.3列族定義
4.3.1可配置的數據塊大小
4.3.2數據塊快取
4.3.3布隆過濾器
4.3.4數據壓縮
4.3.5單元時間版本
4.3.6生存時間
4.4模式設計實例
4.4.1實例1:動物分類
4.4.2實例2:店鋪與商品
4.4.3實例3:網上商城用戶消費記錄
4.4.4實例4:微博用戶與冬粉
4.5本章小結
第5章HBase客戶端
5.1精通原生Java客戶端
5.1.1客戶端配置
5.1.2創建表
5.1.3刪除表
5.1.4插入數據
5.1.5查詢數據
5.1.6刪除數據
5.1.7過濾查詢
5.2使用HBaseShell工具—操HBase
5.2.1命令分類
5.2.2常規命令
5.2.3DDL命令
5.2.4DML命令
5.2.5工具命令T00ls
5.2.6複製命令
5.2.7安全命令
5.3使用Thrift客戶端訪問HBase
5.3.1Thrift與Thrift2區別
5.3.2安裝與部署Thrift2
5.3.3Python使用案例
5.4通過REST客戶端訪問HBase
5.4.1啟動服務
5.4.2使用REST訪問example表
5.5使用MapReduce批量操作HBase
5.5.1三種訪問模式
5.5.2實現MapReduceAPI
5.5.3HBase作為輸入源示例
5.5.4HBase作為輸出源示例
5.5.5HBase作為共享源示例
5.6通過WebUI工具查看HBase狀態
5.6.1Master狀態界面
5.6.2RegionServer狀態界面
5.6.3ZooKeeper統計信息頁面
5.7其他客戶端
5.8本章小結
第二部分實戰篇
第6章整合SQL引擎層
6.1NoSQL背景知識
6.1.1什麼是NoSQL
6.1.2將SQL整合到HBase的原因
6.1.3基於HBase的SQL引擎實現
6.2Hive整合HBase的實現
6.2.1認識Hive
6.2.2Hive整合HBase的環境準備
6.2.3Linux環境下重新編譯Hive
6.2.4Hive參數配置
6.2.5啟動Hive
6.2.6Hive與HBase整合後的框架如何使用
6.2.7HBase到Hive的欄位映射
6.2.8多列與HiveMap類型
6.3查詢引擎PhoeniX
6.3.1認識Phoenix
6.3.2Phoenix安裝環境準備
6.3.3Phoenix安裝部署
6.3.4Phoenix源碼編譯
6.3.5Phoenix中SQLLine的快速使用
6.3.6使用JDBC訪問Phoenix
6.4對象映射框架Kundera
6.4.1認識Kundera
6.4.2Kundera的客戶端API快速使用
6.4.3Kundera模組介紹
6.4.4Kundera的REST訪問方式
6.5分散式SQL引擎Lealone
6.5.1認識Lealone
6.5.2Lealone的安裝部署
6.5.3通過JDBC訪問Lealone
6.5.4通過Python訪問Lealone
6.5.5Lealone特有的建表語法
6.6本章小結
第7章構建音樂站用戶屬性庫
7.1案例背景
7.1.1音樂站
7.1.2需求概述
7.1.3需求範圍和系統邊界
7.1.4需求詳述
7.1.5名詞解釋
7.2概要設計
7.2.1設計目標
7.2.2數據規模假設
7.2.3功能指標
7.2.4系統流程
7.3表結構設計
7.3.1功能抽象
7.3.2邏輯結構
7.3.3Rowkey設計
7.3.4列族設計
7.3.5版本定義
7.3.6最佳化屬性定義
7.4數據載入
7.4.1載入流程
7.4.2Mapper類
7.4.3Main類
7.4.4運行
7.5數據檢索
7.5.1HBaseTable
7.5.2HBaseAdmin
7.5.3幾種檢索類型
7.6後台查詢
7.6.1二級索引實現
7.6.2後台查詢系統
7.7本章小結
第8章構建廣告實時計算系統
8.1理解廣告數據和流處理框架
8.1.1網路廣告的幾大特性
8.1.2網路廣告的數據類型
8.1.3流處理框架
8.1.4背景與需求描述
8.2概要設計
8.2.1設計目標
8.2.2主要功能
8.2.3系統架構
8.3詳細設計
8.3.1表結構設計
8.3.2功能模組設計
8.4核心功能實現
8.4.1規劃集群環境部署
8.4.2安裝ZooKeeper集群
8.4.3安裝Kafka分散式集群
8.4.4實現Kafka生產者
8.4.5安裝Storm分散式集群
8.4.6查看集群節點部署情況
8.4.7基於Storm—kafka中間件
實現計算邏輯
8.4.8如何使用HBase中統計數據
8.5本章小結
第三部分高級篇
第9章核心概念
9.1核心結構
9.1.1B+樹
9,1.2LSM樹
9.1.3兩種結構本質區別
9.2底層持久化
9.2.1存儲基本架構
9.2.2HDFS檔案
9.2.3Region切分
9.2.4合併
9.2.5HFile格式
9.2.6KeyValue格式
9.3預寫日誌
9.3.1概要流程
9.3.2相關Java類
9.3.3日誌回放
9.3.4日誌一致性
9.4寫人流程
9.4.1客戶端
9.4.2伺服器端
9.5查詢流程
9.5.1兩種查詢操作
9.5.2客戶端
9.5.3伺服器端
9.6數據備份
9.6.1備份機制架構
9.6.2故障恢復
9.7數據壓縮
9.7.1支持的壓縮算法
9.7.2使用配置
9.8本章小結
……
第10章HBase高級特性
第11章集群運維管理
第12章性能調優
附錄AHBase配置參數介紹
附錄B PhoenixSQL語法詳解
附錄CYCSB編譯安裝
1.1理解大數據背景
1.1.1什麼是大數據
1.1.2為何大數據至關重要
1.1.3NoSQL在大數據中扮演的角色
1.2HBase是什麼
1.2.1HBase的發展歷史
1.2.2HBase的發行版本
1.2.3HBase的特性
1.3HBase與Hadoop的關係
1.4HBase的核心功能模組
1.4.1客戶端Client
1.4.2協調服務組件ZooKeeper
1.4.3主節點HMaster
1.4.4Region節點HRegionServer
1.5HBase的使用場景和經典案例
1.5.1搜尋引擎套用
1.5.2增量數據存儲
1.5.3用戶內容服務
1.5.4實時訊息系統構建
1.6本章小結
第2章HBase安裝與配置
2.1先決條件
2.2HBase運行模式
2.2.1單機模式
2.2.2分散式模式
2.3HBase的WebUI
2.4HBaseShell工具使用
2.5停止HBase集群
2.6本章小結
第3章數據模型
3.1兩類數據模型
3.1.1邏輯模型
3.1.2物理模型
3.2數據模型的重要概念
3.2.1表
3.2.2行鍵
3.2.3列族
3.2.4單元格
3.3數據模型的操作
3.3.1讀Get
3.3.2寫Pm
3.3.3掃描Scan
3.3.4刪除Delete
3.4數據模型的特殊屬性
3.4.1版本
3.4.2排序
3.4.3列的元數據
3.4.4連線查詢
3.4.5計數器
3.4.6原子操作
3.4.7事務特性ACID
3.4.8行鎖
3.4.9自動分區
3.5CAP原理與最終一致性
3.6本章小結
第4章HBase表結構設計
4.1模式創建
4.2Rowkey設計
4.3列族定義
4.3.1可配置的數據塊大小
4.3.2數據塊快取
4.3.3布隆過濾器
4.3.4數據壓縮
4.3.5單元時間版本
4.3.6生存時間
4.4模式設計實例
4.4.1實例1:動物分類
4.4.2實例2:店鋪與商品
4.4.3實例3:網上商城用戶消費記錄
4.4.4實例4:微博用戶與冬粉
4.5本章小結
第5章HBase客戶端
5.1精通原生Java客戶端
5.1.1客戶端配置
5.1.2創建表
5.1.3刪除表
5.1.4插入數據
5.1.5查詢數據
5.1.6刪除數據
5.1.7過濾查詢
5.2使用HBaseShell工具—操HBase
5.2.1命令分類
5.2.2常規命令
5.2.3DDL命令
5.2.4DML命令
5.2.5工具命令T00ls
5.2.6複製命令
5.2.7安全命令
5.3使用Thrift客戶端訪問HBase
5.3.1Thrift與Thrift2區別
5.3.2安裝與部署Thrift2
5.3.3Python使用案例
5.4通過REST客戶端訪問HBase
5.4.1啟動服務
5.4.2使用REST訪問example表
5.5使用MapReduce批量操作HBase
5.5.1三種訪問模式
5.5.2實現MapReduceAPI
5.5.3HBase作為輸入源示例
5.5.4HBase作為輸出源示例
5.5.5HBase作為共享源示例
5.6通過WebUI工具查看HBase狀態
5.6.1Master狀態界面
5.6.2RegionServer狀態界面
5.6.3ZooKeeper統計信息頁面
5.7其他客戶端
5.8本章小結
第二部分實戰篇
第6章整合SQL引擎層
6.1NoSQL背景知識
6.1.1什麼是NoSQL
6.1.2將SQL整合到HBase的原因
6.1.3基於HBase的SQL引擎實現
6.2Hive整合HBase的實現
6.2.1認識Hive
6.2.2Hive整合HBase的環境準備
6.2.3Linux環境下重新編譯Hive
6.2.4Hive參數配置
6.2.5啟動Hive
6.2.6Hive與HBase整合後的框架如何使用
6.2.7HBase到Hive的欄位映射
6.2.8多列與HiveMap類型
6.3查詢引擎PhoeniX
6.3.1認識Phoenix
6.3.2Phoenix安裝環境準備
6.3.3Phoenix安裝部署
6.3.4Phoenix源碼編譯
6.3.5Phoenix中SQLLine的快速使用
6.3.6使用JDBC訪問Phoenix
6.4對象映射框架Kundera
6.4.1認識Kundera
6.4.2Kundera的客戶端API快速使用
6.4.3Kundera模組介紹
6.4.4Kundera的REST訪問方式
6.5分散式SQL引擎Lealone
6.5.1認識Lealone
6.5.2Lealone的安裝部署
6.5.3通過JDBC訪問Lealone
6.5.4通過Python訪問Lealone
6.5.5Lealone特有的建表語法
6.6本章小結
第7章構建音樂站用戶屬性庫
7.1案例背景
7.1.1音樂站
7.1.2需求概述
7.1.3需求範圍和系統邊界
7.1.4需求詳述
7.1.5名詞解釋
7.2概要設計
7.2.1設計目標
7.2.2數據規模假設
7.2.3功能指標
7.2.4系統流程
7.3表結構設計
7.3.1功能抽象
7.3.2邏輯結構
7.3.3Rowkey設計
7.3.4列族設計
7.3.5版本定義
7.3.6最佳化屬性定義
7.4數據載入
7.4.1載入流程
7.4.2Mapper類
7.4.3Main類
7.4.4運行
7.5數據檢索
7.5.1HBaseTable
7.5.2HBaseAdmin
7.5.3幾種檢索類型
7.6後台查詢
7.6.1二級索引實現
7.6.2後台查詢系統
7.7本章小結
第8章構建廣告實時計算系統
8.1理解廣告數據和流處理框架
8.1.1網路廣告的幾大特性
8.1.2網路廣告的數據類型
8.1.3流處理框架
8.1.4背景與需求描述
8.2概要設計
8.2.1設計目標
8.2.2主要功能
8.2.3系統架構
8.3詳細設計
8.3.1表結構設計
8.3.2功能模組設計
8.4核心功能實現
8.4.1規劃集群環境部署
8.4.2安裝ZooKeeper集群
8.4.3安裝Kafka分散式集群
8.4.4實現Kafka生產者
8.4.5安裝Storm分散式集群
8.4.6查看集群節點部署情況
8.4.7基於Storm—kafka中間件
實現計算邏輯
8.4.8如何使用HBase中統計數據
8.5本章小結
第三部分高級篇
第9章核心概念
9.1核心結構
9.1.1B+樹
9,1.2LSM樹
9.1.3兩種結構本質區別
9.2底層持久化
9.2.1存儲基本架構
9.2.2HDFS檔案
9.2.3Region切分
9.2.4合併
9.2.5HFile格式
9.2.6KeyValue格式
9.3預寫日誌
9.3.1概要流程
9.3.2相關Java類
9.3.3日誌回放
9.3.4日誌一致性
9.4寫人流程
9.4.1客戶端
9.4.2伺服器端
9.5查詢流程
9.5.1兩種查詢操作
9.5.2客戶端
9.5.3伺服器端
9.6數據備份
9.6.1備份機制架構
9.6.2故障恢復
9.7數據壓縮
9.7.1支持的壓縮算法
9.7.2使用配置
9.8本章小結
……
第10章HBase高級特性
第11章集群運維管理
第12章性能調優
附錄AHBase配置參數介紹
附錄B PhoenixSQL語法詳解
附錄CYCSB編譯安裝