HBase權(quán)威指南(“十二五”國(guó)家重點(diǎn)圖書(shū)出版規(guī)劃項(xiàng)目)HBase Committer及HBase文檔的主要貢獻(xiàn)者Lars George力作!Apache HBase項(xiàng)目管理委員會(huì)主席Michael Stack為本書(shū)作序推薦!最權(quán)威的HBase開(kāi)發(fā)指南!
定 價(jià):89 元
- 作者:[美]Lars George 著
- 出版時(shí)間:2013/10/1
- ISBN:9787115318893
- 出 版 社:人民郵電出版社
- 中圖法分類:TP393-62
- 頁(yè)碼:476
- 紙張:膠版紙
- 版次:1
- 開(kāi)本:16開(kāi)
《HBase權(quán)威指南》探討了如何通過(guò)使用與HBase高度集成的Hadoop將HBase的可伸縮性變得簡(jiǎn)單;把大型數(shù)據(jù)集分布到相對(duì)廉價(jià)的商業(yè)服務(wù)器集群中;使用本地Java客戶端,或者通過(guò)提供了REST、Avro和Thrift應(yīng)用編程接口的網(wǎng)關(guān)服務(wù)器來(lái)訪問(wèn)HBase;了解HBase架構(gòu)的細(xì)節(jié),包括存儲(chǔ)格式、預(yù)寫(xiě)日志、后臺(tái)進(jìn)程等;在HBase中集成MapReduce框架;了解如何調(diào)節(jié)集群、設(shè)計(jì)模式、拷貝表、導(dǎo)入批量數(shù)據(jù)和刪除節(jié)點(diǎn)等! 禜Base權(quán)威指南》適合使用HBase進(jìn)行數(shù)據(jù)庫(kù)開(kāi)發(fā)的高級(jí)數(shù)據(jù)庫(kù)研發(fā)人員閱讀。
Apache HBase項(xiàng)目管理委員會(huì)主席Michael Stack作序推薦。作者Lars George是HBase Committer,HBase文檔的主要貢獻(xiàn)者,Cloudera公司解決方案架構(gòu)師,主要為Hadoop和HBase提供技術(shù)支持、咨詢和培訓(xùn)工作。這是一本介紹HBase內(nèi)部機(jī)制的書(shū),是最權(quán)威的HBase開(kāi)發(fā)指南。
Lars George,HBase項(xiàng)目組成員,他是cloudera的解決方案架構(gòu)師,提供了關(guān)于Hadoop和HBase的技術(shù)支持、咨詢服務(wù)和培訓(xùn)工作。他曾經(jīng)在多個(gè)不同的Hadoop用戶組會(huì)議發(fā)言,并且在如布魯塞爾的自由及開(kāi)源軟件開(kāi)發(fā)者歐洲會(huì)議(FOSDEM)這樣的大型會(huì)議中發(fā)言。
目 錄
第1章 簡(jiǎn)介 1
1.1 海量數(shù)據(jù)的黎明 1
1.2 關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的問(wèn)題 5
1.3 非關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)Not-Only-SQL(簡(jiǎn)稱NoSQL) 7
1.3.1 維度 9
1.3.2 可擴(kuò)展性 12
1.3.3 數(shù)據(jù)庫(kù)的范式化和反范式化 12
1.4 結(jié)構(gòu) 15
1.4.1 背景 15
1.4.2 表、行、列和單元格 16
1.4.3 自動(dòng)分區(qū) 20
1.4.4 存儲(chǔ)API 21
1.4.5 實(shí)現(xiàn) 22 目 錄
第1章 簡(jiǎn)介 1
1.1 海量數(shù)據(jù)的黎明 1
1.2 關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)的問(wèn)題 5
1.3 非關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)Not-Only-SQL(簡(jiǎn)稱NoSQL) 7
1.3.1 維度 9
1.3.2 可擴(kuò)展性 12
1.3.3 數(shù)據(jù)庫(kù)的范式化和反范式化 12
1.4 結(jié)構(gòu) 15
1.4.1 背景 15
1.4.2 表、行、列和單元格 16
1.4.3 自動(dòng)分區(qū) 20
1.4.4 存儲(chǔ)API 21
1.4.5 實(shí)現(xiàn) 22
1.4.6 小結(jié) 25
1.5 HBase:Hadoop數(shù)據(jù)庫(kù) 25
1.5.1 歷史 26
1.5.2 命名 27
1.5.3 小結(jié) 27
第2章 安裝 28
2.1 快速啟動(dòng)指南 28
2.2 必備條件 31
2.2.1 硬件 31
2.2.2 軟件 37
2.3 HBase使用的文件系統(tǒng) 47
2.3.1 本地模式 48
2.3.2 HDFS 49
2.3.3 S3 49
2.3.4 其他文件系統(tǒng) 50
2.4 安裝選項(xiàng) 50
2.4.1 Apache二進(jìn)制發(fā)布包 50
2.4.2 編譯源碼 52
2.5 運(yùn)行模式 53
2.5.1 單機(jī)模式 53
2.5.2 分布式模式 53
2.6 配置 57
2.6.1 hbase-site.xml與hbase-default.xml 58
2.6.2 hbase-env.sh 59
2.6.3 regionserver 59
2.6.4 log4j.properties 59
2.6.5 配置示例 59
2.6.6 客戶端配置 61
2.7 部署 61
2.7.1 基于腳本 62
2.7.2 Apache Whirr 63
2.7.3 Puppet與Chef 63
2.8 操作集群 64
2.8.1 確定安裝運(yùn)行 64
2.8.2 Web UI介紹 65
2.8.3 Shell介紹 66
2.8.4 關(guān)閉集群 66
第3章 客戶端API:基礎(chǔ)知識(shí) 68
3.1 概述 68
3.2 CRUD操作 69
3.2.1 put方法 69
3.2.2 get方法 87
3.2.3 刪除方法 97
3.3 批量處理操作 107
3.4 行鎖 110
3.5 掃描 114
3.5.1 介紹 114
3.5.2 ResultScanner類 117
3.5.3 緩存與批量處理 119
3.6 各種特性 125
3.6.1 HTable的實(shí)用方法 125
3.6.2 Bytes類 127
第4章 客戶端API:高級(jí)特性 129
4.1 過(guò)濾器 129
4.1.1 過(guò)濾器簡(jiǎn)介 129
4.1.2 比較過(guò)濾器 132
4.1.3 專用過(guò)濾器 139
4.1.4 附加過(guò)濾器 147
4.1.5 FilterList 151
4.1.6 自定義過(guò)濾器 153
4.1.7 過(guò)濾器總結(jié) 159
4.2 計(jì)數(shù)器 160
4.2.1 計(jì)數(shù)器簡(jiǎn)介 160
4.2.2 單計(jì)數(shù)器 163
4.2.3 多計(jì)數(shù)器 164
4.3 協(xié)處理器 166
4.3.1 協(xié)處理器簡(jiǎn)介 167
4.3.2 Coprocessor類 168
4.3.3 協(xié)處理器加載 171
4.3.4 RegionObserver類 174
4.3.5 MasterObserver類 180
4.3.6 endpoint 184
4.4 HTablePool 190
4.5 連接管理 194
第5章 客戶端API:管理功能 197
5.1 模式定義 197
5.1.1 表 197
5.1.2 表屬性 199
5.1.3 列族 202
5.2 HBaseAdmin 207
5.2.1 基本操作 208
5.2.2 表操作 209
5.2.3 模式操作 217
5.2.4 集群管理 219
5.2.5 集群狀態(tài)信息 222
第6章 可用客戶端 230
6.1 REST、Thrift和Avro的介紹 230
6.2 交互客戶端 233
6.2.1 原生Java 233
6.2.2 REST 233
6.2.3 Thrift 240
6.2.4 Avro 244
6.2.5 其他客戶端 245
6.3 批處理客戶端 246
6.3.1 MapReduce 246
6.3.2 Hive 246
6.3.3 Pig 252
6.3.4 Cascading 256
6.4 Shell 257
6.4.1 基礎(chǔ) 257
6.4.2 命令 259
6.4.3 腳本 263
6.5 基于Web的UI 265
6.5.1 master的UI 265
6.5.2 region服務(wù)器的UI 270
6.5.3 共享頁(yè)面 272
第7章 與MapReduce集成 275
7.1 框架 275
7.1.1 MapReduce介紹 275
7.1.2 類 276
7.1.3 支撐類 279
7.1.4 MapReduce的執(zhí)行地點(diǎn) 279
7.1.5 表拆分 280
7.2 在HBase之上的MapReduce 281
7.2.1 準(zhǔn)備 281
7.2.2 數(shù)據(jù)流向 286
7.2.3 數(shù)據(jù)源 291
7.2.4 數(shù)據(jù)源與數(shù)據(jù)流向 293
7.2.5 自定義處理 296
第8章 架構(gòu) 299
8.1 數(shù)據(jù)查找和傳輸 299
8.1.1 B+樹(shù) 299
8.1.2 LSM樹(shù) 300
8.2 存儲(chǔ) 302
8.2.1 概覽 303
8.2.2 寫(xiě)路徑 304
8.2.3 文件 305
8.2.4 HFile格式 313
8.2.5 KeyValue格式 316
8.3 WAL 316
8.3.1 概述 317
8.3.2 HLog類 318
8.3.3 HLogKey類 319
8.3.4 WALEdit類 319
8.3.5 LogSyncer類 319
8.3.6 LogRoller類 320
8.3.7 回放 321
8.3.8 持久性 324
8.4 讀路徑 325
8.5 region查找 328
8.6 region生命周期 330
8.7 ZooKeeper 330
8.8 復(fù)制 333
8.8.1 Log Edit的生命周期 334
8.8.2 內(nèi)部機(jī)制 335
第9章 高級(jí)用法 339
9.1 行鍵設(shè)計(jì) 339
9.1.1 概念 339
9.1.2 高表與寬表 341
9.1.3 部分鍵掃描 342
9.1.4 分頁(yè) 343
9.1.5 時(shí)間序列 344
9.1.6 時(shí)間順序關(guān)系 348
9.2 高級(jí)模式 350
9.3 輔助索引 350
9.4 搜索集成 354
9.5 事務(wù) 357
9.6 布隆過(guò)濾器 358
9.7 版本管理 361
9.7.1 隱式版本控制 361
9.7.2 自定義版本控制 364
第10章 集群監(jiān)控 366
10.1 介紹 366
10.2 監(jiān)控框架 367
10.2.1 上下文、記錄和監(jiān)控指標(biāo) 367
10.2.2 master監(jiān)控指標(biāo) 372
10.2.3 region服務(wù)器監(jiān)控指標(biāo) 373
10.2.4 RPC監(jiān)控指標(biāo) 375
10.2.5 JVM監(jiān)控指標(biāo) 376
10.2.6 info監(jiān)控指標(biāo) 377
10.3 Ganglia 378
10.3.1 安裝 379
10.3.2 用法 383
10.4 JMX 386
10.4.1 JConsole 388
10.4.2 JMX遠(yuǎn)程API 390
10.5 Nagios 394
第11章 性能優(yōu)化 395
11.1 垃圾回收優(yōu)化 395
11.2 本地memstore分配緩沖區(qū) 398
11.3 壓縮 399
11.3.1 可用的編解碼器 400
11.3.2 驗(yàn)證安裝 401
11.3.3 啟用壓縮 403
11.4 優(yōu)化拆分和合并 404
11.4.1 管理拆分 404
11.4.2 region熱點(diǎn) 405
11.4.3 預(yù)拆分region 406
11.5 負(fù)載均衡 407
11.6 合并region 408
11.7 客戶端API:最佳實(shí)踐 409
11.8 配置 411
11.9 負(fù)載測(cè)試 414
11.9.1 性能評(píng)價(jià) 414
11.9.2 YCSB 416
第12章 集群管理 421
12.1 運(yùn)維任務(wù) 421
12.1.1 減少節(jié)點(diǎn) 421
12.1.2 滾動(dòng)重啟 423
12.1.3 新增服務(wù)器 424
12.2 數(shù)據(jù)任務(wù) 428
12.2.1 導(dǎo)入/導(dǎo)出 428
12.2.2 CopyTable工具 433
12.2.3 批量導(dǎo)入 435
12.2.4 復(fù)制 438
12.3 額外的任務(wù) 440
12.3.1 集群共存 440
12.3.2 端口要求 442
12.4 改變?nèi)罩炯?jí)別 442
12.5 故障處理 443
12.5.1 HBase Fsck 443
12.5.2 日志分析 445
12.5.3 常見(jiàn)問(wèn)題 447
附錄A HBase配置屬性 451
附錄B 計(jì)劃 467
附錄C 版本升級(jí) 469
附錄D 分支 471
附錄E Hush SQL Schema 473
附錄F 對(duì)比HBase和BigTable 475