實戰Hadoop 2.0(第二版)——從雲計算到大數據

基本簡介

《實戰Hadoop 2.0(第二版)——從雲計算到大數據 》是電子工業出版社出版的一本圖書。

內容簡介

書是劉鵬教授主編的國內第一本Hadoop編程書籍《實戰Hadoop》的第二版。Hadoop堪稱業界最經典的開源雲計算和大數據平台軟體。本書系統介紹了Hadoop 2.0生態圈的核心和擴展組件,包括:管理工具Ambari、分散式檔案系統HDFS、分散式資源管理器YARN、分散式並行處理MapReduce、記憶體型計算框架Spark、數據流實時處理系統Storm、分散式鎖服務ZooKeeper、分散式資料庫HBase、數據倉庫工具Hive,以及Pig、Oozie、Flume、Mahout等。

圖書目錄

|第1章| 大數據組件概述 1

1.1 Google大數據組件 2

1.2 Apache大數據組件 6

1.2.1 Hadoop核心組件 7

1.2.2 基於MR的數據分析組件 10

1.2.3 資料庫組件 16

1.2.4 BSP組件 19

1.2.5 基於YARN框架組件 20

1.2.6 基於YARN的編程類庫組件 24

1.2.7 搜尋引擎組件 25

1.2.8 工作流組件 26

1.2.9 數據流組件 27

1.2.10 序列化和持久化組件 29

1.2.11 調試工具 30

1.2.12 安全性組件 31

1.2.13 兼容性組件 33

1.2.14 集群部署與管理組件 33

習題 34

參考文獻 35

|第2章| 大數據集群 39

2.1 大數據集群簡介 40

2.2 大數據集群bigCstor 45

2.3 我的大數據集群littleCstor 48

2.4 小結 52

習題 52

參考文獻 53

|第3章| 集群管理工具Ambari 55

3.1 Ambari簡介 56

3.2 使用Ambari部署HDP 59

3.3 使用Ambari搭建littleCstor 62

3.3.1 相關約定 62

3.3.2 制定部署規劃 63

3.3.3 搭建prelittleCstor 64

3.3.4 本地建倉 72

3.3.5 部署AmbariServer 77

3.3.6 搭建littleCstor 83

3.3.7 小結 105

3.4 使用Ambari管理littleCstor 110

3.5 小結 111

習題 111

參考文獻 111

|第4章| 分散式檔案系統HDFS 113

4.1 分散式存儲引例 114

4.1.1 問題描述 114

4.1.2 常規解決方案 115

4.1.3 分散式解決方案 117

4.2 HDFS簡介 124

4.2.1 HDFS邏輯架構 124

4.2.2 HDFS物理拓撲 129

4.2.3 HDFS部署 133

4.2.4 HDFS其他概念[9] 135

4.3 HDFS接口 138

4.4 實戰HDFS Shell 140

4.4.1 HDFS檔案級命令集 141

4.4.2 HDFS系統級命令集 143

4.5 實戰WebHDFS 149

4.5.1 WebHDFS簡介 149

4.5.2 WebHDFS示例 151

4.6 實戰HDFS JAVA API 156

4.6.1 搭建開發環境 156

4.6.2 常規操作示例 158

4.7 實戰HDFS大項目:用HDFS存儲海量視頻數據 163

4.7.1 套用場景 163

4.7.2 設計實現 164

習題 166

參考文獻 166

|第5章| 分散式資源管理器YARN 169

5.1 分散式資源管理器引例 170

5.1.1 分散式資源管理器簡介 170

5.1.2 分散式資源管理器架構 173

5.2 YARN簡介 177

5.2.1 基礎概念 177

5.2.2 物理拓撲 179

5.2.3 體系架構 180

5.2.4 集群部署 190

5.3 YARN接口 192

5.4 實戰YARN Shell 194

5.4.1 系統級命令 195

5.4.2 程式級命令 197

5.4.3 其他輔助命令 199

5.5 實戰YARN編程 199

5.5.1 常見並行化範式 199

5.5.2 YARN編程步驟 205

5.6 實戰YARN編程之DistributedShell 213

5.6.1 DistributedShell簡介 213

5.6.2 編寫DistributedShell 214

5.7 實戰YARN編程之三大範式 221

5.7.1 DistributedShell 222

5.7.2 MapReduce 222

5.7.3 Giraph 223

習題 224

參考文獻 224

|第6章| 分散式並行處理MapReduce 225

6.1 並行化範式M-S-R引例 226

6.1.1 問題描述 226

6.1.2 常規解決方案 227

6.1.3 分散式解決方案 228

6.1.4 小結 234

6.2 MapReduce簡介[1] 234

6.2.1 基本概念 235

6.2.2 編程模型 237

6.2.3 集群部署 239

6.2.4 體系架構 241

6.2.5 執行過程 245

6.3 MapReduce接口 247

6.4 實戰MapReduce Shell 250

6.5 實戰MapReduce編程 253

6.6 實戰MapReduce編程之WordCount[3] 256

6.6.1 WordCount代碼分析 256

6.6.2 WordCount處理過程 260

6.7 實戰MapReduce編程之SecondarySort 261

6.8 實戰MapReduce編程之倒排索引 265

6.8.1 簡介 265

6.8.2 分析與設計 266

6.8.3 倒排索引完整源碼 269

6.9 實戰MapReduce之性能最佳化 271

習題 280

參考文獻 280

|第7章| 分散式鎖服務ZooKeeper 281

7.1 ZooKeeper簡介 282

7.1.1 ZooKeeper套用場景 282

7.1.2 ZooKeeper體系架構[3] 285

7.1.3 ZooKeeper服務模型 287

7.1.4 ZooKeeper部署 289

7.2 ZooKeeper接口 292

7.2.1 接口匯總 292

7.2.2 實戰ZooKeeper Shell 292

7.3 實戰ZooKeeper編程 294

7.4 實戰ZooKeeper之進程通信 296

7.5 實戰ZooKeeper之進程調度系統 297

7.5.1 設計方案 297

7.5.2 設計實現 297

7.6 實戰ZooKeeper之實現NameNode自動切換 303

7.6.1 設計思想 304

7.6.2 詳細設計 304

7.6.3 編碼 305

7.6.4 實戰總結 310

習題 311

參考文獻 311

|第8章| 分散式資料庫HBase 313

8.1 HBase簡介 314

8.1.1 體系架構 314

8.1.2 數據模型 320

8.1.3 集群部署[21] 321

8.2 HBase接口 326

8.3 實戰HBase Shell 327

8.4 實戰HBase API 329

8.5 實戰HBase之綜例 330

8.6 實戰HBase之使用MapReduce構建索引 332

8.6.1 索引表藍圖 332

8.6.2 HBase和MapReduce 333

8.6.3 實現索引 334

習題 336

參考文獻 337

|第9章| 記憶體型計算框架Spark 339

9.1 Spark簡介 340

9.1.1 基礎概念 340

9.1.2 體系架構 346

9.1.3 集群部署 358

9.1.4 計算模型 366

9.1.5 工作機制 374

9.1.6 其他特性 375

9.2 Spark接口 377

9.3 實戰Spark Shell 379

9.3.1 集群管理 379

9.3.2 任務管理 381

9.4 實戰Spark編程之RDD 383

9.4.1 RDD屬性 383

9.4.2 並行化證明RDD、調試RDD 386

9.4.3 RDD操作 389

9.5 實戰Spark之WordCount[3] 396

9.6 實戰Spark之MLLib 397

習題 398

參考文獻 398

|第10章| 數據流實時處理系統Storm 399

10.1 Storm簡介 400

10.1.1 與Hadoop的關係 400

10.1.2 基礎概念 402

10.1.3 體系架構 408

10.1.4 集群部署[4] 412

10.1.5 計算模型 421

10.2 Storm接口 450

10.3 實戰Storm Shell 452

10.4 實戰Storm API之RollingTopWords 455

習題 457

參考文獻 458

|第11章| 數據倉庫工具Hive 459

11.1 Hive簡介 460

11.1.1 工作原理 460

11.1.2 體系架構 461

11.1.3 計算模型 462

11.1.4 集群部署 463

11.2 Hive接口 467

11.2.1 接口匯總 467

11.2.2 實戰Hive Web 467

11.3 實戰Hive Shell 468

11.3.1 DDL Operations 468

11.3.2 DML Operations 469

11.3.3 SQL Operations 470

11.4 實戰Hive之複雜語句 471

11.5 實戰Hive之綜合示例 473

11.6 實戰Hive API接口 474

11.6.1 UDF編程示例[3] 474

11.6.2 UDAF編程示例 475

習題 477

參考文獻 477

|第12章| 其他常見大數據組件 479

12.1 Pig 480

12.1.1 Pig簡介 480

12.1.2 實戰Pig 483

12.2 Oozie 483

12.2.1 Oozie簡介 483

12.2.2 實戰Oozie[4] 485

12.3 Flume 487

12.3.1 Flume簡介 487

12.3.2 Flume入門 489

12.4 Mahout 492

12.4.1 Mahout簡介 492

12.4.2 Mahout入門 492

習題 494

參考文獻 494

|附錄A| 手工部署Hadoop2.0 495

一、部署綜述 496

二、部署步驟 500

相關詞條

熱門詞條

聯絡我們