第1章 Hadoop概述 1
1.1 商業(yè)分析與大數(shù)據(jù) 2
1.1.1 Hadoop的組件 3
1.1.2 Hadoop分布式文件系統(tǒng)(HDFS) 3
1.1.3 MapReduce是什么 4
1.1.4 YARN是什么 5
1.2 ZooKeeper是什么 6
1.3 Hive是什么 7
1.4 與其他系統(tǒng)集成 8
1.4.1 Hadoop生態(tài)系統(tǒng) 9
1.4.2 數(shù)據(jù)集成與Hadoop 11
1.5 小結(jié) 16
第2章 存儲 19
2.1 Hadoop HDFS的基礎(chǔ)知識 20
2.1.1 概念 21
2.1.2 架構(gòu) 25
2.1.3 接口 29
2.2 在分布式模式下設(shè)置HDFS群集 35
2.3 HDFS的高級特性 40
2.3.1 快照 41
2.3.2 離線查看器 44
2.3.3 分層存儲 52
2.3.4 糾刪碼 55
2.4 文件格式 59
2.5 云存儲 63
2.6 小結(jié) 64
第3章 計算 65
3.1 Hadoop MapReduce的基礎(chǔ) 66
3.1.1 概念 66
3.1.2 架構(gòu) 69
3.2 如何啟動MapReduce作業(yè) 76
3.2.1 編寫Map任務(wù) 77
3.2.2 編寫reduce任務(wù) 79
3.2.3 編寫MapReduce作業(yè) 80
3.2.4 配置 83
3.3 MapReduce的高級特性 85
3.3.1 分布式緩存 85
3.3.2 計數(shù)器 87
3.3.3 作業(yè)歷史服務(wù)器 89
3.4 與Spark作業(yè)的區(qū)別 91
3.5 小結(jié) 92
第4章 用戶體驗 93
4.1 Apache Hive 94
4.1.1 安裝Hive 96
4.1.2 HiveQL 97
4.1.3 UDF/SerDe 103
4.1.4 Hive調(diào)優(yōu) 105
4.2 Apache Pig 106
4.2.1 安裝Pig 107
4.2.2 Pig Latin 108
4.3 UDF 110
4.4 Hue 111
4.5 Apache Oozie 114
4.5.1 安裝Oozie 115
4.5.2 Oozie的工作原理 118
4.5.3 工作流/協(xié)調(diào)器 119
4.5.4 Oozie CLI 124
4.6 小結(jié) 124
第5章 與其他系統(tǒng)集成 125
5.1 Apache Sqoop 126
5.2 Apache Flume 130
5.3 Apache Kafka 136
5.3.1 工作原理 138
5.3.2 Kafka Connect 141
5.3.3 流處理 143
5.4 Apache Storm 144
5.4.1 工作原理 145
5.4.2 Trident 148
5.4.3 Kafka集成 149
5.5 小結(jié) 152
第6章 Hadoop安全 153
6.1 提升Hadoop群集安全性 154
6.1.1 邊界安全 154
6.1.2 Kerberos認(rèn)證 156
6.1.3 Hadoop中的服務(wù)級授權(quán) 162
6.1.4 用戶模擬 167
6.1.5 提升HTTP信道的安全性 170
6.2 提升數(shù)據(jù)安全性 174
6.2.1 數(shù)據(jù)分類 175
6.2.2 將數(shù)據(jù)傳到群集 176
6.2.3 保護(hù)群集中的數(shù)據(jù) 182
6.3 增強應(yīng)用程序安全性 189
6.3.1 YARN架構(gòu) 189
6.3.2 YARN中的應(yīng)用提交 190
6.4 小結(jié) 195
第7章 自由的生態(tài)圈:Hadoop與Apache BigTop 197
7.1 基礎(chǔ)概念 198
7.1.1 軟件棧 199
7.1.2 測試棧 200
7.1.3 在我的筆記本電腦上工作 201
7.2 開發(fā)定制的軟件棧 201
7.2.1 Apache Bigtop:歷史 201
7.2.2 Apache Bigtop:概念和哲學(xué)思想 202
7.2.3 項目結(jié)構(gòu) 204
7.2.4 談?wù)剺?gòu)建系統(tǒng) 205
7.2.5 工具鏈和開發(fā)環(huán)境 206
7.2.6 BOM定義 207
7.3 部署 208
7.3.1 Bigtop Provisioner 208
7.3.2 群集的無主節(jié)點Puppet部署 209
7.3.3 使用Puppet進(jìn)行配置管理 213
7.4 集成驗證 215
7.4.1 iTests和驗證應(yīng)用程序 216
7.4.2 棧集成測試開發(fā) 217
7.4.3 棧的驗證 220
7.4.4 群集故障測試 221
7.4.5 棧的冒煙測試 222
7.5 將所有工作組合在一起 223
7.6 小結(jié) 224
第8章 Hadoop軟件棧的In-Memory計算 227
8.1 In-Memory計算簡介 229
8.2 Apache Ignite:內(nèi)存優(yōu)先 231
8.2.1 Apache Ignite的系統(tǒng)體系架構(gòu) 232
8.2.2 數(shù)據(jù)網(wǎng)格 233
8.2.3 高可用性討論 236
8.2.4 計算網(wǎng)格 237
8.2.5 服務(wù)網(wǎng)格 238
8.2.6 內(nèi)存管理 238
8.2.7 持久化存儲 240
8.3 使用Ignite加速舊式Hadoop 240
8.3.1 In-Memory存儲的好處 241
8.3.2 內(nèi)存文件系統(tǒng):HDFS緩存 242
8.3.3 In-Memory MapReduce 243
8.4 Apache Ignite的高級用法 247
8.4.1 Spark和Ignite 247
8.4.2 共享狀態(tài) 249
8.4.3 Hadoop上的In-Memory SQL 251
8.4.4 使用Ignite的SQL 252
8.4.5 使用Apache Ignite進(jìn)行流處理 255
8.5 小結(jié) 256
術(shù)語表 259