HBase實戰(zhàn)Apache HBase項目管理委員會主席Michael Stack作序推薦!ChinaHadoop技術(shù)?區(qū)強力推薦!
定 價:69 元
- 作者:[美]Nick Dimiduk Amandeep Khurana 著
- 出版時間:2013/9/1
- ISBN:9787115324467
- 出 版 社:人民郵電出版社
- 中圖法分類:TP393
- 頁碼:315
- 紙張:膠版紙
- 版次:1
- 開本:16開
HBase是一種NoSQL存儲系統(tǒng),專門設(shè)計用來快速隨機讀寫大規(guī)模數(shù)據(jù)。HBase運行在普通商用服務(wù)器上,可以平滑擴展,以支持從中等規(guī)模到數(shù)十億行、數(shù)百萬列的數(shù)據(jù)集! 禜Base實戰(zhàn)》是一本基于經(jīng)驗提煉而成的指南,它教給讀者如何運用HBase設(shè)計、搭建及運行大數(shù)據(jù)應(yīng)用系統(tǒng)。全書共分為4個部分。前兩個部分分別介紹了分布式系統(tǒng)和大規(guī)模數(shù)據(jù)處理的發(fā)展歷史,講解HBase的基本原理模式設(shè)計以及如何使用HBase的高級特性;第三部分通過真實的應(yīng)用和代碼示例以及支持這些實踐技巧的理論知識,進一步探索HBase的一些實用技術(shù);第四部分講解如何把原型開發(fā)系統(tǒng)升級為羽翼豐滿的生產(chǎn)系統(tǒng)! 禜Base實戰(zhàn)》適合所有對云計算、大數(shù)據(jù)處理技術(shù)和NoSQL數(shù)據(jù)庫感興趣的技術(shù)人員閱讀,尤其適合對Hadoop及HBase感興趣的技術(shù)人員參考。閱讀《HBase實戰(zhàn)》不要求之前具備HBase、Hadoop或者MapReduce方面的知識。
Apache HBase項目管理委員會主席 Michael Stack中國云計算專家咨詢委員會副主任/秘書長 劉鵬教授北京天地超云科技有限公司首席執(zhí)行官 王成江51CTO.com 執(zhí)行總編 馬沛《網(wǎng)絡(luò)世界》&網(wǎng)界網(wǎng) 總編輯 高輝ChinaHadoop技術(shù)社區(qū)聯(lián)合推薦!1. 《HBase實戰(zhàn)》是一個完整手冊,更是一本HBase項目實戰(zhàn)指導(dǎo),是作者多年使用HBase實踐經(jīng)驗的升華!禜Base實戰(zhàn)》更是最實用的HBase技術(shù)書,書中含有大量真實的應(yīng)用和代碼示例。 2. 本書兩位作者Nick Dimiduk和Amandeep Khurana都是長期的HBase實踐者,非常有真材實料。 3. 本書譯者謝磊是ChinaHadoop技術(shù)社區(qū)發(fā)起人,資深I(lǐng)T人士,從事軟件行業(yè)十多年,現(xiàn)在從事企業(yè)級大數(shù)據(jù)解決方案的工作,致力于大數(shù)據(jù)技術(shù)的普及和推廣。
作者介紹Nick Dimiduk 數(shù)據(jù)架構(gòu)師。他2008年開始使用HBase,當(dāng)時解決了夜間ETL數(shù)據(jù)作業(yè)需要20多個小時才可以完成的問題。之后他把Hadoop和HBase應(yīng)用到了各種應(yīng)用場景中,如社交媒體、社交游戲、點擊流分析、氣候預(yù)測和地理信息系統(tǒng)等。Nick還幫助建立了西雅圖Scalability Meetup,以支持創(chuàng)業(yè),F(xiàn)在他把主要精力投入在分布式、可擴展的科學(xué)數(shù)據(jù)在線訪問系統(tǒng)上。Amandeep Khurana Cloudera公司方案架構(gòu)師。在這家公司,他幫助用戶使用Hadoop和HBase,提供從規(guī)劃到構(gòu)建和部署的全程服務(wù)。加入Cloudera之前,Amandeep在Amazon的Elastic MapReduce團隊工作,提供Amazon Web Services云服務(wù)。Amandeep的專業(yè)背景在于大規(guī)模分布式系統(tǒng)和信息管理。譯者介紹 謝磊 ChinaHadoop技術(shù)社區(qū)發(fā)起人。畢業(yè)于清華大學(xué)電機工程系,獲工學(xué)碩士學(xué)位。資深I(lǐng)T人士,從事軟件行業(yè)十多年,先后服務(wù)于HP、BMC Software、北京小象科技等多家公司,歷任HP 軟件部和咨詢事業(yè)部高級顧問、BMC Software中國區(qū)技術(shù)總監(jiān)、北京小象科技有限公司執(zhí)行董事。對企業(yè)級數(shù)據(jù)中心的建設(shè)、運維、管理方面有著深刻的理解,F(xiàn)在從事企業(yè)級大數(shù)據(jù)解決方案的工作,致力于大數(shù)據(jù)技術(shù)的普及和推廣。
目 錄
第一部分 HBase基礎(chǔ)
第1章 HBase介紹 3
1.1 數(shù)據(jù)管理系統(tǒng):速成 4
1.1.1 你好,大數(shù)據(jù) 5
1.1.2 數(shù)據(jù)創(chuàng)新 6
1.1.3 HBase的崛起 7
1.2 HBase使用場景和成功案例 8
1.2.1 典型互聯(lián)網(wǎng)搜索問題:BigTable發(fā)明的原因 8
1.2.2 抓取增量數(shù)據(jù) 9
1.2.3 內(nèi)容服務(wù) 12
1.2.4 信息交換 13
1.3 你好HBase 14 目 錄
第一部分 HBase基礎(chǔ)
第1章 HBase介紹 3
1.1 數(shù)據(jù)管理系統(tǒng):速成 4
1.1.1 你好,大數(shù)據(jù) 5
1.1.2 數(shù)據(jù)創(chuàng)新 6
1.1.3 HBase的崛起 7
1.2 HBase使用場景和成功案例 8
1.2.1 典型互聯(lián)網(wǎng)搜索問題:BigTable發(fā)明的原因 8
1.2.2 抓取增量數(shù)據(jù) 9
1.2.3 內(nèi)容服務(wù) 12
1.2.4 信息交換 13
1.3 你好HBase 14
1.3.1 快速安裝 14
1.3.2 HBase Shell命令行交互 16
1.3.3 存儲數(shù)據(jù) 17
1.4 小結(jié) 18
第2章 入門 20
2.1 從頭開始 21
2.1.1 創(chuàng)建表 21
2.1.2 檢查表模式 22
2.1.3 建立連接 22
2.1.4 連接管理 23
2.2 數(shù)據(jù)操作 23
2.2.1 存儲數(shù)據(jù) 24
2.2.2 修改數(shù)據(jù) 25
2.2.3 工作機制:HBase寫路徑 25
2.2.4 讀數(shù)據(jù) 26
2.2.5 工作機制:HBase讀路徑 27
2.2.6 刪除數(shù)據(jù) 28
2.2.7 合并:HBase的后臺工作 28
2.2.8 有時間版本的數(shù)據(jù) 29
2.2.9 數(shù)據(jù)模型概括 30
2.3 數(shù)據(jù)坐標(biāo) 31
2.4 小結(jié) 33
2.5 數(shù)據(jù)模型 37
2.5.1 邏輯模型:有序映射的映射集合 37
2.5.2 物理模型:面向列族 39
2.6 表掃描 40
2.6.1 設(shè)計用于掃描的表 41
2.6.2 執(zhí)行掃描 42
2.6.3 掃描器緩存 43
2.6.4 使用過濾器 43
2.7 原子操作 44
2.8 ACID語義 45
2.9 小結(jié) 46
第3章 分布式的HBase、HDFS和MapReduce 48
3.1 一個MapReduce的例子 49
3.1.1 延遲與吞吐量 49
3.1.2 串行計算吞吐量有限 50
3.1.3 并行計算提高吞吐量 50
3.1.4 MapReduce:用布式計算最大化吞吐量 51
3.2 Hadoop MapReduce概覽 52
3.2.1 MapReduce數(shù)據(jù)流介紹 53
3.2.2 MapReduce內(nèi)部機制 57
3.3 分布式模式的HBase 58
3.3.1 切分和分配大表 58
3.3.2 如何找到region 61
3.3.3 如何找到–ROOT–表 62
3.4 HBase和MapReduce 64
3.4.1 使用HBase作為數(shù)據(jù)源 64
3.4.2 使用HBase接收數(shù)據(jù) 66
3.4.3 使用HBase共享資源 67
3.5 信息匯總 71
3.5.1 編寫MapReduce應(yīng)用 72
3.5.2 運行MapReduce應(yīng)用 73
3.6 大規(guī)模條件下的可用性和可靠性 74
3.6.1 HDFS作為底層存儲 75
3.7 小結(jié) 77
第二部分 高級概念
第4章 HBase表設(shè)計 81
4.1 如何開始模式設(shè)計 82
4.1.1 問題建!82
4.1.2 需求定義:提前多做準(zhǔn)備工作總是有好處的 84
4.1.3 均衡分布數(shù)據(jù)和負載的建模方法 87
4.1.4 目標(biāo)數(shù)據(jù)訪問 93
4.2 反規(guī)范化是HBase世界里的詞語 95
4.3 相同表里的混雜數(shù)據(jù) 97
4.4 行鍵設(shè)計策略 98
4.5 IO考慮 99
4.5.1 為寫優(yōu)化 99
4.5.2 為讀優(yōu)化 101
4.5.3 基數(shù)和行鍵結(jié)構(gòu) 101
4.6 從關(guān)系型到非關(guān)系型 102
4.6.1 一些基本概念 103
4.6.2 嵌套實體 105
4.6.3 沒有映射到的一些東西 106
4.7 列族高級配置 107
4.7.1 可配置的數(shù)據(jù)塊大小 107
4.7.2 數(shù)據(jù)塊緩存 108
4.7.3 激進緩存 108
4.7.4 布隆過濾器 108
4.7.5 生存時間(TTL) 109
4.7.6 壓縮 110
4.7.7 單元時間版本 110
4.8 過濾數(shù)據(jù) 111
4.8.1 實現(xiàn)一個過濾器 113
4.8.2 預(yù)裝過濾器 115
4.9 小結(jié) 118
第5章 使用協(xié)處理器擴展HBase 120
5.1 兩種協(xié)處理器 121
5.1.1 Observer協(xié)處理器 121
5.1.2 endpoint協(xié)處理器 123
5.2 實現(xiàn)一個observer 124
5.2.1 修改模式 124
5.2.2 從HBase開始 126
5.2.3 安裝observer 128
5.2.4 其他安裝選項 130
5.3 實現(xiàn)一個endpoint 131
5.3.1 為endpoint定義接口 131
5.3.2 實現(xiàn)endpoint服務(wù)器 132
5.3.3 實現(xiàn)endpoint客戶端 133
5.3.4 部署endpoint服務(wù)器 135
5.3.5 試運行 136
5.4 小結(jié) 136
第6章 其他的HBase客戶端選擇 137
6.1 在UNIX里使用HBase Shell腳本 138
6.1.1 準(zhǔn)備HBase Shell 138
6.1.2 使用UNIX Shell腳本創(chuàng)建表模式 139
6.2 使用JRuby進行HBase Shell編程 141
6.2.1 準(zhǔn)備HBase Shell 141
6.2.2 訪問TwitBase的users表 142
6.3 通過REST訪問HBase 144
6.3.1 啟動HBase REST服務(wù) 145
6.3.2 訪問TwitBase的users表 146
6.4 通過Python使用HBase Thrift網(wǎng)關(guān) 149
6.4.1 生成Python語言的HBase Thrift客戶端庫 151
6.4.2 啟動HBase Thrift服務(wù) 152
6.4.3 掃描TwitBaseuser表 153
6.5 asynchbase:另外一種HBase Java客戶端 156
6.5.1 創(chuàng)建一個asynchbase項目 157
6.5.2 改變TwitBase的密碼策略 159
6.5.3 試運行 171
6.6 小結(jié) 172
第三部分 應(yīng)用系統(tǒng)實例
第7章 通過實例學(xué)習(xí)HBase:OpenTSDB 175
7.1 OpenTSDB概述 176
7.1.1 挑戰(zhàn):基礎(chǔ)設(shè)施監(jiān)控 177
7.1.2 數(shù)據(jù):時間序列 178
7.1.3 存儲:HBase 179
7.2 設(shè)計一個HBase應(yīng)用系統(tǒng) 180
7.2.1 模式設(shè)計 180
7.2.2 應(yīng)用架構(gòu) 184
7.3 實現(xiàn)一個HBase應(yīng)用系統(tǒng) 187
7.3.1 存儲數(shù)據(jù) 187
7.3.2 查詢數(shù)據(jù) 192
7.4 小結(jié) 196
第8章 在HBase上查詢地理信息系統(tǒng) 197
8.1 運用地理數(shù)據(jù) 197
8.2 設(shè)計一個空間索引 199
8.2.1 從復(fù)合行鍵開始 201
8.2.2 介紹geohash 202
8.2.3 理解geohash 205
8.2.4 在有空間感知特性的行鍵里使用geohash 206
8.3 實現(xiàn)最近鄰居查詢 210
8.4 把計算工作推往服務(wù)器端 215
8.4.1 基于查詢多邊形創(chuàng)建一次geohash掃描 217
8.4.2 區(qū)域內(nèi)查詢第一幕:客戶端 222
8.4.3 區(qū)域內(nèi)查詢第二幕:WithinFilter 224
8.5 小結(jié) 228
第四部分 讓HBase運轉(zhuǎn)起來
第9章 部署HBase 233
9.1 規(guī)劃集群 234
9.1.1 原型集群 235
9.1.2 小型生產(chǎn)集群(10~20臺服務(wù)器) 235
9.1.3 中型生產(chǎn)集群(50臺以下服務(wù)器) 236
9.1.4 大型生產(chǎn)集群(超過50臺服務(wù)器) 237
9.1.5 Hadoop Master節(jié)點 237
9.1.6 HBase Master 238
9.1.7 Hadoop DataNode和HBase RegionServer 238
9.1.8 ZooKeeper 239
9.1.9 采用云服務(wù)怎么樣? 240
9.2 部署軟件 242
9.2.1 Whirr:在云端部署 242
9.3 發(fā)行版本 244
9.3.1 使用原生Apache發(fā)行版本 244
9.3.2 使用Cloudera的CDH發(fā)行版本 245
9.4 配置 246
9.4.1 HBase配置 246
9.4.2 與HBase有關(guān)的Hadoop配置參數(shù) 252
9.4.3 操作系統(tǒng)配置 253
9.5 管理守護進程 254
9.6 小結(jié) 255
第10章 運維 256
10.1 監(jiān)控你的集群 257
10.1.1 HBase如何輸出監(jiān)控指標(biāo) 257
10.1.2 收集監(jiān)控指標(biāo)和圖形展示 258
10.1.3 HBase輸出的監(jiān)控指標(biāo) 260
10.1.4 應(yīng)用端監(jiān)控 264
10.2 HBase集群的性能 265
10.2.1 性能測試 265
10.2.2 什么影響了HBase的性能 268
10.2.3 優(yōu)化支撐系統(tǒng) 269
10.2.4 優(yōu)化HBase 270
10.3 集群管理 274
10.3.1 啟動和停止HBase 274
10.3.2 優(yōu)雅停止和讓節(jié)點退役 275
10.3.3 增加節(jié)點 276
10.3.4 滾動重啟和升級 276
10.3.5 bin/hbase和HbaseShell 277
10.3.6 維護一致性——hbck 283
10.3.7 查看HFile和HLog 286
10.3.8 預(yù)先拆分表 288
10.4 備份和復(fù)制 290
10.4.1 集群間復(fù)制 290
10.4.2 使用MapReduce作業(yè)進行備份 294
10.4.3 備份根目錄 298
10.5 小結(jié) 299
附錄A 探索HBase系統(tǒng) 300
附錄B 更多關(guān)于HDFS的工作原理 307