HBase企業(yè)應(yīng)用開發(fā)實戰(zhàn)整本書理論和實踐結(jié)合,理論部分講的不少——于是乎有讀者這樣評價這本書:里面基礎(chǔ)知識講的太多,和書名的應(yīng)用開發(fā)實戰(zhàn)不太符合,如果是小白,果斷從第1章開始看吧!本節(jié)內(nèi)容東坡小編為大家整理帶來的是一份pdf格式免費完整版HBase企業(yè)應(yīng)用開發(fā)實戰(zhàn),需要查閱這本書的朋友們快來下載吧!
hbase企業(yè)應(yīng)用開發(fā)實戰(zhàn)電子書目錄
前 言
第一部分 基礎(chǔ)篇
第1章 認識HBase 2
1.1 理解大數(shù)據(jù)背景 2
1.1.1 什么是大數(shù)據(jù) 3
1.1.2 為何大數(shù)據(jù)至關(guān)重要 4
1.1.3 NoSQL在大數(shù)據(jù)中扮演的角色 4
1.2 HBase是什么 6
1.2.1 HBase的發(fā)展歷史 6
1.2.2 HBase的發(fā)行版本 7
1.2.3 HBase的特性 9
1.3 HBase與Hadoop的關(guān)系 10
1.4 HBase的核心功能模塊 12
1.4.1 客戶端Client 12
1.4.2 協(xié)調(diào)服務(wù)組件ZooKeeper 13
1.4.3 主節(jié)點HMaster 13
1.4.4 Region節(jié)點HRegionServer 13
1.5 HBase的使用場景和經(jīng)典案例 14
1.5.1 搜索引擎應(yīng)用 15
1.5.2 增量數(shù)據(jù)存儲 15
1.5.3 用戶內(nèi)容服務(wù) 17
1.5.4 實時消息系統(tǒng)構(gòu)建 18
1.6 本章小結(jié) 18
第2章 HBase安裝與配置 19
2.1 先決條件 19
2.2 HBase運行模式 23
2.2.1 單機模式 23
2.2.2 分布式模式 24
2.3 HBase的Web UI 31
2.4 HBase Shell工具使用 31
2.5 停止HBase集群 33
2.6 本章小結(jié) 33
第3章 數(shù)據(jù)模型 34
3.1 兩類數(shù)據(jù)模型 34
3.1.1 邏輯模型 35
3.1.2 物理模型 35
3.2 數(shù)據(jù)模型的重要概念 36
3.2.1 表 36
3.2.2 行鍵 37
3.2.3 列族 38
3.2.4 單元格 38
3.3 數(shù)據(jù)模型的操作 38
3.3.1 讀Get 39
3.3.2 寫Put 39
3.3.3 掃描Scan 39
3.3.4 刪除Delete 40
3.4 數(shù)據(jù)模型的特殊屬性 40
3.4.1 版本 40
3.4.2 排序 42
3.4.3 列的元數(shù)據(jù) 42
3.4.4 連接查詢 43
3.4.5 計數(shù)器 43
3.4.6 原子操作 43
3.4.7 事務(wù)特性ACID 43
3.4.8 行鎖 45
3.4.9 自動分區(qū) 45
3.5 CAP原理與最終一致性 46
3.6 本章小結(jié) 47
第4章 HBase表結(jié)構(gòu)設(shè)計 48
4.1 模式創(chuàng)建 48
4.2 Rowkey設(shè)計 49
4.3 列族定義 51
4.3.1 可配置的數(shù)據(jù)塊大小 51
4.3.2 數(shù)據(jù)塊緩存 52
4.3.3 布隆過濾器 52
4.3.4 數(shù)據(jù)壓縮 53
4.3.5 單元時間版本 53
4.3.6 生存時間 54
4.4 模式設(shè)計實例 54
4.4.1 實例1:動物分類 54
4.4.2 實例2:店鋪與商品 56
4.4.3 實例3:網(wǎng)上商城用戶消費記錄 57
4.4.4 實例4:微博用戶與粉絲 58
4.5 本章小結(jié) 60
第5章 HBase客戶端 61
5.1 精通原生Java客戶端 61
5.1.1 客戶端配置 62
5.1.2 創(chuàng)建表 69
5.1.3 刪除表 70
5.1.4 插入數(shù)據(jù) 70
5.1.5 查詢數(shù)據(jù) 72
5.1.6 刪除數(shù)據(jù) 76
5.1.7 過濾查詢 77
5.2 使用HBase Shell工具操作HBase 79
5.2.1 命令分類 79
5.2.2 常規(guī)命令 80
5.2.3 DDL命令 81
5.2.4 DML命令 82
5.2.5 工具命令Tools 86
5.2.6 復(fù)制命令 87
5.2.7 安全命令 87
5.3 使用Thrift客戶端訪問HBase 88
5.3.1 Thrift與Thrift2區(qū)別 88
5.3.2 安裝與部署Thrift2 89
5.3.3 Python使用案例 93
5.4 通過REST客戶端訪問HBase 95
5.4.1 啟動服務(wù) 95
5.4.2 使用REST訪問example表 96
5.5 使用MapReduce批量操作HBase 97
5.5.1 三種訪問模式 98
5.5.2 實現(xiàn)MapReduce API 98
5.5.3 HBase作為輸入源示例 99
5.5.4 HBase作為輸出源示例 101
5.5.5 HBase作為共享源示例 103
5.6 通過Web UI工具查看HBase狀態(tài) 106
5.6.1 Master狀態(tài)界面 106
5.6.2 RegionServer狀態(tài)界面 107
5.6.3 ZooKeeper統(tǒng)計信息頁面 109
5.7 其他客戶端 110
5.8 本章小結(jié) 110
第二部分 實戰(zhàn)篇
第6章 整合SQL引擎層 114
6.1 NoSQL背景知識 114
6.1.1 什么是NoSQL 114
6.1.2 將SQL整合到HBase的原因 115
6.1.3 基于HBase的SQL引擎實現(xiàn) 116
6.2 Hive整合HBase的實現(xiàn) 119
6.2.1 認識Hive 119
6.2.2 Hive整合HBase的環(huán)境準備 122
6.2.3 Linux環(huán)境下重新編譯Hive 123
6.2.4 Hive參數(shù)配置 125
6.2.5 啟動Hive 127
6.2.6 Hive與HBase整合后的框架如何使用 127
6.2.7 HBase到Hive的字段映射 133
6.2.8 多列與Hive Map類型 134
6.3 查詢引擎Phoenix 137
6.3.1 認識Phoenix 138
6.3.2 Phoenix安裝環(huán)境準備 141
6.3.3 Phoenix安裝部署 142
6.3.4 Phoenix源碼編譯 143
6.3.5 Phoenix中SQLLine的快速使用 149
6.3.6 使用JDBC訪問Phoenix 153
6.4 對象映射框架Kundera 155
6.4.1 認識Kundera 155
6.4.2 Kundera的客戶端API快速使用 158
6.4.3 Kundera模塊介紹 161
6.4.4 Kundera的REST訪問方式 162
6.5 分布式SQL引擎Lealone 165
6.5.1 認識Lealone 165
6.5.2 Lealone的安裝部署 166
6.5.3 通過JDBC訪問Lealone 168
6.5.4 通過Python訪問Lealone 169
6.5.5 Lealone特有的建表語法 170
6.6 本章小結(jié) 171
第7章 構(gòu)建音樂站用戶屬性庫 173
7.1 案例背景 173
7.1.1 音樂站 173
7.1.2 需求概述 175
7.1.3 需求范圍和系統(tǒng)邊界 175
7.1.4 需求詳述 176
7.1.5 名詞解釋 180
7.2 概要設(shè)計 181
7.2.1 設(shè)計目標 181
7.2.2 數(shù)據(jù)規(guī)模假設(shè) 181
7.2.3 功能指標 182
7.2.4 系統(tǒng)流程 182
7.3 表結(jié)構(gòu)設(shè)計 183
7.3.1 功能抽象 183
7.3.2 邏輯結(jié)構(gòu) 184
7.3.3 Rowkey設(shè)計 188
7.3.4 列族設(shè)計 188
7.3.5 版本定義 188
7.3.6 優(yōu)化屬性定義 188
7.4 數(shù)據(jù)加載 189
7.4.1 加載流程 189
7.4.2 Mapper類 190
7.4.3 Main類 192
7.4.4 運行 193
7.5 數(shù)據(jù)檢索 193
7.5.1 HBaseTable 193
7.5.2 HBaseAdmin 193
7.5.3 幾種檢索類型 195
7.6 后臺查詢 198
7.6.1 二級索引實現(xiàn) 198
7.6.2 后臺查詢系統(tǒng) 205
7.7 本章小結(jié) 206
第8章 構(gòu)建廣告實時計算系統(tǒng) 208
8.1 理解廣告數(shù)據(jù)和流處理框架 208
8.1.1 網(wǎng)絡(luò)廣告的幾大特性 209
8.1.2 網(wǎng)絡(luò)廣告的數(shù)據(jù)類型 210
8.1.3 流處理框架 211
8.1.4 背景與需求描述 217
8.2 概要設(shè)計 218
8.2.1 設(shè)計目標 219
8.2.2 主要功能 219
8.2.3 系統(tǒng)架構(gòu) 219
8.3 詳細設(shè)計 221
8.3.1 表結(jié)構(gòu)設(shè)計 221
8.3.2 功能模塊設(shè)計 222
8.4 核心功能實現(xiàn) 223
8.4.1 規(guī)劃集群環(huán)境部署 223
8.4.2 安裝ZooKeeper集群 225
8.4.3 安裝Kafka分布式集群 228
8.4.4 實現(xiàn)Kafka生產(chǎn)者 231
8.4.5 安裝Storm分布式集群 233
8.4.6 查看集群節(jié)點部署情況 240
8.4.7 基于Storm-kafka中間件實現(xiàn)計算邏輯 240
8.4.8 如何使用HBase中統(tǒng)計數(shù)據(jù) 251
8.5 本章小結(jié) 252
第三部分 高級篇
第9章 核心概念 254
9.1 核心結(jié)構(gòu) 254
9.1.1 B+樹 255
9.1.2 LSM樹 255
9.1.3 兩種結(jié)構(gòu)本質(zhì)區(qū)別 257
9.2 底層持久化 258
9.2.1 存儲基本架構(gòu) 258
9.2.2 HDFS文件 259
9.2.3 Region切分 264
9.2.4 合并 265
9.2.5 HFile格式 266
9.2.6 KeyValue格式 269
9.3 預(yù)寫日志 270
9.3.1 概要流程 270
9.3.2 相關(guān)Java類 271
9.3.3 日志回放 274
9.3.4 日志一致性 275
9.4 寫入流程 276
9.4.1 客戶端 276
9.4.2 服務(wù)器端 281
9.5 查詢流程 286
9.5.1 兩種查詢操作 286
9.5.2 客戶端 286
9.5.3 服務(wù)器端 287
9.6 數(shù)據(jù)備份 291
9.6.1 備份機制架構(gòu) 292
9.6.2 故障恢復(fù) 292
9.7 數(shù)據(jù)壓縮 294
9.7.1 支持的壓縮算法 295
9.7.2 使用配置 295
9.8 本章小結(jié) 296
第10章 HBase高級特性 297
10.1 過濾器 297
10.1.1 過濾器的兩類參數(shù) 297
10.1.2 比較器 298
10.1.3 列值過濾器 300
10.1.4 鍵值元數(shù)據(jù)過濾器 300
10.1.5 行鍵過濾器 303
10.1.6 功能過濾器 303
10.1.7 Thrift使用過濾器 304
10.1.8 過濾器總結(jié) 309
10.2 計數(shù)器 310
10.2.1 使用Shell操作計數(shù)器 310
10.2.2 基于單列的計數(shù)器 312
10.2.3 多列計數(shù)器 313
10.3 協(xié)處理器 314
10.3.1 認識協(xié)處理器 315
10.3.2 觀察者Observer 316
10.3.3 終端EndPoint 318
10.3.4 協(xié)處理器部署 320
10.4 Schema設(shè)計要點 323
10.4.1 行鍵設(shè)計 323
10.4.2 列族設(shè)計 325
10.5 二級索引 325
10.5.1 Client-managed方式 326
10.5.2 ITHBase實現(xiàn) 326
10.5.3 IHBase實現(xiàn) 329
10.5.4 Coprocessor方式 329
10.5.5 MapReduce兩種方式 330
10.6 布隆過濾器 330
10.6.1 基本概念 331
10.6.2 配置布隆過濾器 332
10.6.3 使用布隆過濾器 333
10.7 負載均衡 333
10.7.1 全局計劃 334
10.7.2 隨機分配計劃 337
10.7.3 批量啟動分配計劃 337
10.7.4 通過Shell控制負載均衡 338
10.8 批量加載 338
10.8.1 準備數(shù)據(jù):importtsv 338
10.8.2 加載數(shù)據(jù):completebulkload 340
10.9 本章小結(jié) 340
第11章 集群運維管理 341
11.1 HBase常用工具 341
11.1.1 文件檢測修復(fù)工具hbck 342
11.1.2 文件查看工具hfile 346
11.1.3 WAL日志查看工具hlog 348
11.1.4 壓縮測試工具CompressionTest 349
11.1.5 數(shù)據(jù)遷移工具CopyTable 350
11.1.6 導(dǎo)出工具export 351
11.1.7 導(dǎo)入工具Import 351
11.1.8 日志回放工具WALPlayer 351
11.1.9 行數(shù)統(tǒng)計工具RowCounter 352
11.2 Region和RegionServer管理 353
11.2.1 大合并工具major_compact 353
11.2.2 Region合并工具Merge 354
11.2.3 下線節(jié)點 354
11.2.4 滾動重啟 355
11.3 性能指標Metrics 356
11.3.1 Master Metrics 357
11.3.2 RegionServer Metrics 357
11.3.3 RPC Metrics 358
11.3.4 JVM Metrics 359
11.3.5 集群屬性Metrics 360
11.4 監(jiān)控系統(tǒng)Ganglia 360
11.4.1 HBase監(jiān)控指標 360
11.4.2 安裝、部署和使用Ganglia 361
11.5 HBase管理擴展JMX 366
11.5.1 如何使用JMX 366
11.5.2 基于JMX的監(jiān)控工具Ella 368
11.6 報警工具Nagios 371
11.7 故障處理 376
11.7.1 問題咨詢渠道 377
11.7.2 常用日志信息 377
11.7.3 常用故障調(diào)試工具 379
11.7.4 客戶端故障排查 384
11.7.5 MapReduce故障排查 386
11.7.6 網(wǎng)絡(luò)故障排查 387
11.7.7 RegionServer相關(guān)問題解決 387
11.7.8 Master相關(guān)問題解決 391
11.7.9 ZooKeeper相關(guān)問題解決 392
11.8 集群備份 392
11.8.1 冷備份 393
11.8.2 熱備份之Replication 393
11.8.3 熱備份之CopyTable 393
11.8.4 熱備份之Export 393
11.9 本章小結(jié) 393
第12章 性能調(diào)優(yōu) 395
12.1 硬件和操作系統(tǒng)調(diào)優(yōu) 395
12.1.1 配置內(nèi)存 395
12.1.2 配置CPU 396
12.1.3 操作系統(tǒng) 396
12.2 網(wǎng)絡(luò)通信調(diào)優(yōu) 399
12.2.1 配置交換機 399
12.2.2 添加機架感知 401
12.3 JVM優(yōu)化 402
12.3.1 Java垃圾回收算法 402
12.3.2 Java垃圾收集器 403
12.3.3 垃圾回收器的選擇 405
12.3.4 JVM參數(shù)設(shè)置 406
12.4 HBase查詢優(yōu)化 408
12.4.1 設(shè)置Scan緩存 408
12.4.2 顯式地指定列 409
12.4.3 關(guān)閉ResultScanner 410
12.4.4 禁用塊緩存 410
12.4.5 優(yōu)化行鍵查詢 410
12.4.6 通過HTableTool訪問 410
12.4.7 使用批量讀 411
12.4.8 使用Filter降低客戶端壓力 412
12.4.9 使用Coprocessor統(tǒng)計行數(shù) 412
12.4.10 緩存查詢結(jié)果 413
12.5 HBase寫入優(yōu)化 413
12.5.1 關(guān)閉寫WAL日志 413
12.5.2 設(shè)置AutoFlush 414
12.5.3 預(yù)創(chuàng)建Region 415
12.5.4 延遲日志flush 419
12.5.5 通過HTableTool訪問 419
12.5.6 使用批量寫 420
12.6 HBase基本核心服務(wù)優(yōu)化 421
12.6.1 優(yōu)化分裂操作 421
12.6.2 優(yōu)化合并操作 423
12.7 HBase配置參數(shù)優(yōu)化 423
12.7.1 設(shè)置RegionServer Handler數(shù)量 423
12.7.2 調(diào)整BlockCache大小 425
12.7.3 設(shè)置MemStore的上下限 426
12.7.4 調(diào)整影響合并的文件數(shù) 427
12.7.5 調(diào)整MemStore的flush因子 427
12.7.6 調(diào)整單個文件大小 427
12.7.7 調(diào)整ZooKeeper Session的有效時長 428
12.8 分布式協(xié)調(diào)系統(tǒng)ZooKeeper優(yōu)化 428
12.8.1 配置ZooKeeper節(jié)點數(shù) 428
12.8.2 獨立ZooKeeper集群 429
12.9 表設(shè)計優(yōu)化 430
12.9.1 開啟布隆過濾器 430
12.9.2 調(diào)整列族塊大小 430
12.9.3 設(shè)置In Memory屬性 432
12.9.4 調(diào)整列族最大版本數(shù) 434
12.9.5 設(shè)置TTL屬性 435
12.10 其他優(yōu)化 436
12.10.1 關(guān)閉MapReduce的預(yù)測執(zhí)行功能 436
12.10.2 修改負載均衡執(zhí)行周期 438
12.11 性能測試 438
12.12 本章小結(jié) 441
附錄A HBase配置參數(shù)介紹 442
附錄B Phoenix SQL語法詳解 451
附錄C YCSB編譯安裝 468
hbase企業(yè)應(yīng)用開發(fā)實戰(zhàn)內(nèi)容簡介
本書內(nèi)容在三個維度上具有重要特色:功能維度,從HBase的安裝配置、參數(shù)設(shè)置,到數(shù)據(jù)模型、表結(jié)構(gòu)設(shè)計、客戶端使用、高級特性,本書做了系統(tǒng)且詳盡的介紹;實戰(zhàn)維度,不僅通過3個典型的應(yīng)用案例詳細講解了如何使用HBase設(shè)計大型的數(shù)據(jù)應(yīng)用系統(tǒng),而且還結(jié)合實際生產(chǎn)系統(tǒng)講解了HBase的集群運維、監(jiān)控和性能調(diào)優(yōu);理論維度,則深入分析了HBase、框架設(shè)計、模式設(shè)計和基本原理?芍^是理論與實踐完美結(jié)合,深度與廣度兼?zhèn)洌?/p>
hbase企業(yè)應(yīng)用開發(fā)實戰(zhàn)電子書內(nèi)容截圖
- PC官方版
- 安卓官方手機版
- IOS官方手機版