HBase實(shí)戰(zhàn)Apache HBase項(xiàng)目管理委員會(huì)主席Michael Stack作序推薦!ChinaHadoop技術(shù)?區(qū)強(qiáng)力推薦!
定 價(jià):69 元
- 作者:[美]Nick Dimiduk Amandeep Khurana 著
- 出版時(shí)間:2013/9/1
- ISBN:9787115324467
- 出 版 社:人民郵電出版社
- 中圖法分類:TP393
- 頁碼:315
- 紙張:膠版紙
- 版次:1
- 開本:16開
HBase是一種NoSQL存儲(chǔ)系統(tǒng),專門設(shè)計(jì)用來快速隨機(jī)讀寫大規(guī)模數(shù)據(jù)。HBase運(yùn)行在普通商用服務(wù)器上,可以平滑擴(kuò)展,以支持從中等規(guī)模到數(shù)十億行、數(shù)百萬列的數(shù)據(jù)集! 禜Base實(shí)戰(zhàn)》是一本基于經(jīng)驗(yàn)提煉而成的指南,它教給讀者如何運(yùn)用HBase設(shè)計(jì)、搭建及運(yùn)行大數(shù)據(jù)應(yīng)用系統(tǒng)。全書共分為4個(gè)部分。前兩個(gè)部分分別介紹了分布式系統(tǒng)和大規(guī)模數(shù)據(jù)處理的發(fā)展歷史,講解HBase的基本原理模式設(shè)計(jì)以及如何使用HBase的高級(jí)特性;第三部分通過真實(shí)的應(yīng)用和代碼示例以及支持這些實(shí)踐技巧的理論知識(shí),進(jìn)一步探索HBase的一些實(shí)用技術(shù);第四部分講解如何把原型開發(fā)系統(tǒng)升級(jí)為羽翼豐滿的生產(chǎn)系統(tǒng)! 禜Base實(shí)戰(zhàn)》適合所有對(duì)云計(jì)算、大數(shù)據(jù)處理技術(shù)和NoSQL數(shù)據(jù)庫感興趣的技術(shù)人員閱讀,尤其適合對(duì)Hadoop及HBase感興趣的技術(shù)人員參考。閱讀《HBase實(shí)戰(zhàn)》不要求之前具備HBase、Hadoop或者M(jìn)apReduce方面的知識(shí)。
Apache HBase項(xiàng)目管理委員會(huì)主席 Michael Stack中國云計(jì)算專家咨詢委員會(huì)副主任/秘書長 劉鵬教授北京天地超云科技有限公司首席執(zhí)行官 王成江51CTO.com 執(zhí)行總編 馬沛《網(wǎng)絡(luò)世界》&網(wǎng)界網(wǎng) 總編輯 高輝ChinaHadoop技術(shù)社區(qū)聯(lián)合推薦!1. 《HBase實(shí)戰(zhàn)》是一個(gè)完整手冊(cè),更是一本HBase項(xiàng)目實(shí)戰(zhàn)指導(dǎo),是作者多年使用HBase實(shí)踐經(jīng)驗(yàn)的升華。《HBase實(shí)戰(zhàn)》更是最實(shí)用的HBase技術(shù)書,書中含有大量真實(shí)的應(yīng)用和代碼示例。 2. 本書兩位作者Nick Dimiduk和Amandeep Khurana都是長期的HBase實(shí)踐者,非常有真材實(shí)料。 3. 本書譯者謝磊是ChinaHadoop技術(shù)社區(qū)發(fā)起人,資深I(lǐng)T人士,從事軟件行業(yè)十多年,現(xiàn)在從事企業(yè)級(jí)大數(shù)據(jù)解決方案的工作,致力于大數(shù)據(jù)技術(shù)的普及和推廣。
作者介紹Nick Dimiduk 數(shù)據(jù)架構(gòu)師。他2008年開始使用HBase,當(dāng)時(shí)解決了夜間ETL數(shù)據(jù)作業(yè)需要20多個(gè)小時(shí)才可以完成的問題。之后他把Hadoop和HBase應(yīng)用到了各種應(yīng)用場景中,如社交媒體、社交游戲、點(diǎn)擊流分析、氣候預(yù)測(cè)和地理信息系統(tǒng)等。Nick還幫助建立了西雅圖Scalability Meetup,以支持創(chuàng)業(yè)。現(xiàn)在他把主要精力投入在分布式、可擴(kuò)展的科學(xué)數(shù)據(jù)在線訪問系統(tǒng)上。Amandeep Khurana Cloudera公司方案架構(gòu)師。在這家公司,他幫助用戶使用Hadoop和HBase,提供從規(guī)劃到構(gòu)建和部署的全程服務(wù)。加入Cloudera之前,Amandeep在Amazon的Elastic MapReduce團(tuán)隊(duì)工作,提供Amazon Web Services云服務(wù)。Amandeep的專業(yè)背景在于大規(guī)模分布式系統(tǒng)和信息管理。譯者介紹 謝磊 ChinaHadoop技術(shù)社區(qū)發(fā)起人。畢業(yè)于清華大學(xué)電機(jī)工程系,獲工學(xué)碩士學(xué)位。資深I(lǐng)T人士,從事軟件行業(yè)十多年,先后服務(wù)于HP、BMC Software、北京小象科技等多家公司,歷任HP 軟件部和咨詢事業(yè)部高級(jí)顧問、BMC Software中國區(qū)技術(shù)總監(jiān)、北京小象科技有限公司執(zhí)行董事。對(duì)企業(yè)級(jí)數(shù)據(jù)中心的建設(shè)、運(yùn)維、管理方面有著深刻的理解,F(xiàn)在從事企業(yè)級(jí)大數(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 存儲(chǔ)數(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 存儲(chǔ)數(shù)據(jù) 24
2.2.2 修改數(shù)據(jù) 25
2.2.3 工作機(jī)制:HBase寫路徑 25
2.2.4 讀數(shù)據(jù) 26
2.2.5 工作機(jī)制:HBase讀路徑 27
2.2.6 刪除數(shù)據(jù) 28
2.2.7 合并:HBase的后臺(tái)工作 28
2.2.8 有時(shí)間版本的數(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è)計(jì)用于掃描的表 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 一個(gè)MapReduce的例子 49
3.1.1 延遲與吞吐量 49
3.1.2 串行計(jì)算吞吐量有限 50
3.1.3 并行計(jì)算提高吞吐量 50
3.1.4 MapReduce:用布式計(jì)算最大化吞吐量 51
3.2 Hadoop MapReduce概覽 52
3.2.1 MapReduce數(shù)據(jù)流介紹 53
3.2.2 MapReduce內(nèi)部機(jī)制 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 運(yùn)行MapReduce應(yīng)用 73
3.6 大規(guī)模條件下的可用性和可靠性 74
3.6.1 HDFS作為底層存儲(chǔ) 75
3.7 小結(jié) 77
第二部分 高級(jí)概念
第4章 HBase表設(shè)計(jì) 81
4.1 如何開始模式設(shè)計(jì) 82
4.1.1 問題建!82
4.1.2 需求定義:提前多做準(zhǔn)備工作總是有好處的 84
4.1.3 均衡分布數(shù)據(jù)和負(fù)載的建模方法 87
4.1.4 目標(biāo)數(shù)據(jù)訪問 93
4.2 反規(guī)范化是HBase世界里的詞語 95
4.3 相同表里的混雜數(shù)據(jù) 97
4.4 行鍵設(shè)計(jì)策略 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 嵌套實(shí)體 105
4.6.3 沒有映射到的一些東西 106
4.7 列族高級(jí)配置 107
4.7.1 可配置的數(shù)據(jù)塊大小 107
4.7.2 數(shù)據(jù)塊緩存 108
4.7.3 激進(jìn)緩存 108
4.7.4 布隆過濾器 108
4.7.5 生存時(shí)間(TTL) 109
4.7.6 壓縮 110
4.7.7 單元時(shí)間版本 110
4.8 過濾數(shù)據(jù) 111
4.8.1 實(shí)現(xiàn)一個(gè)過濾器 113
4.8.2 預(yù)裝過濾器 115
4.9 小結(jié) 118
第5章 使用協(xié)處理器擴(kuò)展HBase 120
5.1 兩種協(xié)處理器 121
5.1.1 Observer協(xié)處理器 121
5.1.2 endpoint協(xié)處理器 123
5.2 實(shí)現(xiàn)一個(gè)observer 124
5.2.1 修改模式 124
5.2.2 從HBase開始 126
5.2.3 安裝observer 128
5.2.4 其他安裝選項(xiàng) 130
5.3 實(shí)現(xiàn)一個(gè)endpoint 131
5.3.1 為endpoint定義接口 131
5.3.2 實(shí)現(xiàn)endpoint服務(wù)器 132
5.3.3 實(shí)現(xiàn)endpoint客戶端 133
5.3.4 部署endpoint服務(wù)器 135
5.3.5 試運(yùn)行 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進(jìn)行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 啟動(dòng)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 啟動(dòng)HBase Thrift服務(wù) 152
6.4.3 掃描TwitBaseuser表 153
6.5 asynchbase:另外一種HBase Java客戶端 156
6.5.1 創(chuàng)建一個(gè)asynchbase項(xiàng)目 157
6.5.2 改變TwitBase的密碼策略 159
6.5.3 試運(yùn)行 171
6.6 小結(jié) 172
第三部分 應(yīng)用系統(tǒng)實(shí)例
第7章 通過實(shí)例學(xué)習(xí)HBase:OpenTSDB 175
7.1 OpenTSDB概述 176
7.1.1 挑戰(zhàn):基礎(chǔ)設(shè)施監(jiān)控 177
7.1.2 數(shù)據(jù):時(shí)間序列 178
7.1.3 存儲(chǔ):HBase 179
7.2 設(shè)計(jì)一個(gè)HBase應(yīng)用系統(tǒng) 180
7.2.1 模式設(shè)計(jì) 180
7.2.2 應(yīng)用架構(gòu) 184
7.3 實(shí)現(xiàn)一個(gè)HBase應(yīng)用系統(tǒng) 187
7.3.1 存儲(chǔ)數(shù)據(jù) 187
7.3.2 查詢數(shù)據(jù) 192
7.4 小結(jié) 196
第8章 在HBase上查詢地理信息系統(tǒng) 197
8.1 運(yùn)用地理數(shù)據(jù) 197
8.2 設(shè)計(jì)一個(gè)空間索引 199
8.2.1 從復(fù)合行鍵開始 201
8.2.2 介紹geohash 202
8.2.3 理解geohash 205
8.2.4 在有空間感知特性的行鍵里使用geohash 206
8.3 實(shí)現(xiàn)最近鄰居查詢 210
8.4 把計(jì)算工作推往服務(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運(yùn)轉(zhuǎn)起來
第9章 部署HBase 233
9.1 規(guī)劃集群 234
9.1.1 原型集群 235
9.1.2 小型生產(chǎn)集群(10~20臺(tái)服務(wù)器) 235
9.1.3 中型生產(chǎn)集群(50臺(tái)以下服務(wù)器) 236
9.1.4 大型生產(chǎn)集群(超過50臺(tái)服務(wù)器) 237
9.1.5 Hadoop Master節(jié)點(diǎn) 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 管理守護(hù)進(jìn)程 254
9.6 小結(jié) 255
第10章 運(yùn)維 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 性能測(cè)試 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 啟動(dòng)和停止HBase 274
10.3.2 優(yōu)雅停止和讓節(jié)點(diǎn)退役 275
10.3.3 增加節(jié)點(diǎn) 276
10.3.4 滾動(dòng)重啟和升級(jí) 276
10.3.5 bin/hbase和HbaseShell 277
10.3.6 維護(hù)一致性——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è)進(jìn)行備份 294
10.4.3 備份根目錄 298
10.5 小結(jié) 299
附錄A 探索HBase系統(tǒng) 300
附錄B 更多關(guān)于HDFS的工作原理 307