精通 Hadoop 3

[印]尚沙勒·辛格 等著 張華臻 譯

  • 出版商: 清華大學
  • 出版日期: 2022-01-01
  • 定價: $894
  • 售價: 8.5$760
  • 語言: 簡體中文
  • ISBN: 7302596875
  • ISBN-13: 9787302596875
  • 相關分類: Hadoop
  • 立即出貨 (庫存 < 4)

  • 精通 Hadoop 3-preview-1
  • 精通 Hadoop 3-preview-2
  • 精通 Hadoop 3-preview-3
精通 Hadoop 3-preview-1

買這商品的人也買了...

商品描述

《精通Hadoop3》詳細闡述了與Hadoop 3相關的基礎知識,主要包括Hadoop 3簡介、深入理解Hadoop分佈式文件系統、YARN資源管理器、MapReduce內部機制、Hadoop中的SQL、實時處理引擎、Hadoop生態圈組件、定義Hadoop中的應用程序、Hadoop中的實時流處理、Hadoop中的機器學習、雲端中的Hadoop、Hadoop集群分析、Hadoop中的角色及其執行內容、網絡和數據安全、監測Hadoop等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。 本書適合作為高等院校電腦及相關專業的教材和教學參考書,也可作為相關開發人員的自學用書和參考手冊。

目錄大綱

目    錄

第1部分  Hadoop 3簡介

第1章  Hadoop 3簡介 3

1.1  Hadoop起源和時間軸 3

1.1.1  Hadoop的起源 4

1.1.2  時間軸 5

1.2  Hadoop 3及其特性 7

1.3  Hadoop邏輯視圖 8

1.4  Hadoop發行版本 10

1.4.1  本地版本 11

1.4.2  雲版本 11

1.5  回顧 12

1.6  本章小結 12

第2章  深入理解Hadoop分佈式文件系統 13

2.1  技術需求 13

2.2  定義HDFS 13

2.3  深入研究HDFS體系結構 14

2.3.1  HDFS邏輯結構 15

2.3.2  數據分組的概念 18

2.3.3  HDFS通信體系結構 19

2.4  NameNode內部機制 21

2.5  數據本地性和機架感知 22

2.6  DataNode內部機制 24

2.7  Quorum Journal Manager(QJM) 25

2.8  Hadoop 3.x中的高可用性 26

2.9  數據管理 27

2.9.1  元數據管理 28

2.9.2  使用二級NameNode的檢查點 31

2.9.3  數據集成 32

2.9.4  HDFS快照 32

2.9.5  數據平衡機制 33

2.9.6  均衡器的最佳應用方案 35

2.10  HDFS寫入、讀取操作 36

2.10.1  寫入工作流 36

2.10.2  讀取工作流 38

2.10.3  短路讀取 40

2.11  管理Hadoop 3.x中的磁盤傾斜數據 41

2.12  HDFS中的延遲持久化寫入操作 42

2.13  Hadoop 3.x中的糾刪碼 43

2.13.1  糾刪碼的優點 45

2.13.2  糾刪碼的缺點 45

2.14  HDFS公共接口 45

2.14.1  HDFS讀取操作 46

2.14.2  HDFS寫入操作 48

2.14.3  HDFSFileSystemWrite.java文件 49

2.14.4  HDFS刪除操作 50

2.15  HDFS命令參考 50

2.15.1  文件系統命令 50

2.15.2  分佈式復制 52

2.15.3  管理命令 53

2.16  回顧 54

2.17  本章小結 54

第3章  YARN資源管理器 55

3.1  YARN體系結構 55

3.1.1  資源管理器組件 58

3.1.2  節點管理器核心 60

3.2  YARN作業調度機制簡介 60

3.3  FIFO調度器 61

3.4  計算能力調度器 61

3.5  公平調度器 63

3.5.1  調度隊列 63

3.5.2  配置公平調度器 64

3.6  資源管理器的高可用性 65

3.6.1  資源管理器高可用性的體系結構 66

3.6.2  配置資源管理器高可用性 67

3.7  節點標記 69

3.8  Hadoop 3.x中的YARN時間軸服務器 75

3.9  Hadoop 3.x中的機會型容器 77

3.10  YARN中的Docker容器 79

3.10.1  配置Docker容器 80

3.10.2  運行Docker鏡像 80

3.10.3  運行容器 80

3.11  YARN REST API 81

3.11.1  資源管理API 81

3.11.2  節點管理器REST API 85

3.12  YARN命令參考 86

3.12.1  用戶命令 87

3.12.2  應用程序命令 87

3.12.3  日誌命令 88

3.12.4  管理員命令 89

3.13  本章小結 90

第4章  MapReduce內部機制 91

4.1  技術需求 91

4.2  深入瞭解Hadoop MapReduce框架 91

4.3  YARN和MapReduce 95

4.4  Hadoop框架中的MapReduce工作流 97

4.5  常見的MapReduce模式 100

4.5.1  求和模式 100

4.5.2  過濾模式 112

4.5.3  連接模式 116

4.5.4  復合連接 123

4.6  MapReduce用例 126

4.6.1  MovieRatingMapper 127

4.6.2  MovieRatingReducer 128

4.6.3  MovieRatingDriver 128

4.7  優化MapReduce 130

4.7.1  硬件配置 130

4.7.2  操作系統調試 131

4.7.3  優化技術 132

4.7.4  運行期配置 133

4.7.5  文件系統優化 133

4.8  本章小結 134

第2部分  Hadoop生態圈

第5章  Hadoop中的SQL 137

5.1  技術需求 137

5.2  Presto 137

5.2.1  Presto體系結構 138

5.2.2  安裝Presto並執行基本的查詢操作 139

5.2.3  函數 142

5.2.4  Presto連接器 144

5.3  Hive 147

5.3.1  Apache Hive體系結構 148

5.3.2  安裝和運行Hive 149

5.3.3  Hive查詢 150

5.3.4  選擇文件格式 154

5.3.5  HCatalog簡介 156

5.3.6  HiveServer2簡介 157

5.3.7  Hive UDF 157

5.3.8  理解Hive中的ACID 161

5.3.9  分區機制和分桶機制 166

5.3.10  最佳實踐 167

5.4  Impala 168

5.4.1  Impala體系結構 168

5.4.2  瞭解Impala接口和查詢 170

5.4.3  Impala實戰 171

5.4.4  加載CSV文件中的數據 173

5.4.5  最佳實踐方案 175

5.5  本章小結 176

第6章  實時處理引擎 177

6.1  技術需求 177

6.2  Spark 177

6.2.1  Apache Spark內部機制 178

6.2.2  彈性分佈式數據集 180

6.2.3  安裝並運行第一個Spark作業 182

6.2.4  累加器和廣播變量 188

6.2.5  理解數據框和數據集 189

6.2.6  Spark集群管理器 192

6.2.7  最佳實踐 193

6.3  Apache Flink 195

6.3.1  Flink體系結構 195

6.3.2  Apache Flink生態圈組件 196

6.3.3  數據流和數據集API 198

6.3.4  表API 201

6.3.5  最佳實踐 203

6.4  Storm/Heron 204

6.4.1  Storm/Heron體系結構 205

6.4.2  理解Storm Trident 210

6.4.3  Storm集成 211

6.4.4  最佳實踐 212

6.5  本章小結 212

第7章  Hadoop生態圈組件 213

7.1  技術需求 213

7.2  Pig 213

7.2.1  Apache Pig體系結構 214

7.2.2  安裝並運行Pig 216

7.2.3  Pig Latin和Grunt 217

7.2.4  編寫Pig中的UDF 218

7.2.5  Pig和Hive 221

7.2.6  最佳實踐 222

7.3  HBase 222

7.3.1  HBase體系結構及其概念 223

7.3.2  CAP理論 225

7.3.3  HBase操作機器示例 227

7.3.4  安裝 230

7.3.5  最佳實踐 232

7.4  Kafka 233

7.4.1  Apache Kafka體系結構 234

7.4.2  安裝和運行Apache Kafka 236

7.4.3  生產者和使用者的內部機制 238

7.4.4  編寫生產者和使用者應用程序 241

7.4.5  Kafka的ETL連接 244

7.4.6  最佳實踐 248

7.5  Flume 249

7.5.1  Apache Flume體系結構 249

7.5.2  深入理解源、通道和接收器 251

7.5.3  Flume攔截器 265

7.5.4  用例—Twitter數據 271

7.5.5  最佳實踐 273

7.6  本章小結 274

第3部分  Hadoop的實際應用

第8章  定義Hadoop中的應用程序 277

8.1  技術需求 277

8.2  文件格式 277

8.2.1  瞭解文件格式 278

8.2.2  文本 279

8.2.3  序列文件 279

8.2.4  Avro 282

8.2.5  優化的行和列(ORC) 284

8.2.6  Parquet 285

8.3  數據壓縮 285

8.3.1  Hadoop中的數據壓縮類型 286

8.3.2  壓縮格式 289

8.4  序列化 290

8.5  數據攝取 290

8.5.1  批量攝取 291

8.5.2  宏批處理攝取 292

8.5.3  實時攝取 293

8.6  數據處理 294

8.6.1  批處理 294

8.6.2  微批處理 296

8.6.3  實時處理 297

8.7  常見的批處理模式 298

8.7.1  緩時變維度 298

8.7.2  重復記錄和小型文件 300

8.7.3  實時查找 301

8.8  針對編排的Airflow 302

8.9  數據治理 303

8.9.1  數據治理的主要內容 303

8.9.2  元數據管理 304

8.9.3  數據生命周期管理 305

8.9.4  數據分類 306

8.10  本章小結 307

第9章  Hadoop中的實時流處理 309

9.1  技術需求 309

9.2  流式數據集 309

9.3  流數據攝取 310

9.3.1  Flume中基於事件的數據攝取 310

9.3.2  Kafka 311

9.4  常見的流數據處理模式 313

9.5  流式設計 314

9.5.1  延遲 315

9.5.2  數據可用性、一致性和安全性 315

9.5.3  無界數據源 316

9.5.4  數據查找 316

9.5.5  數據格式 317

9.5.6  序列化數據 317

9.5.7  並行處理機制 317

9.5.8  無序事件 318

9.5.9  消息傳遞語義 318

9.6  微批處理用例 319

9.7  實時處理案例 328

9.7.1  主代碼 333

9.7.2  執行代碼 344

9.8  本章小結 345

第10章  Hadoop中的機器學習 347

10.1  技術需求 347

10.2  機器學習步驟 347

10.3  常見的機器學習挑戰 348

10.4  Spark機器學習 349

10.4.1  轉換器函數 350

10.4.2  評估器 351

10.4.3  Spark ML管線 351

10.5  Hadoop和R 352

10.6  Mahout 353

10.7  Spark中的機器學習案例 354

10.8  本章小結 358

第11章  雲端中的Hadoop 359

11.1  技術需求 359

11.2  雲端Hadoop的邏輯視圖 359

11.3  網絡 361

11.3.1  區域和可用區 361

11.3.2  VPC和子網 362

11.3.3  安全組和防火牆規則 363

11.3.4  AWS操作示例 364

11.4  管理資源 370

11.5  數據管線 374

11.5.1  Amazon數據管線 375

11.5.2  Airflow 375

11.5.3  Airflow組件 376

11.5.4  數據管線的DAG示例 376

11.6  高可用性(HA) 379

11.6.1  服務器故障 379

11.6.2  雲存儲高可用性 381

11.7  本章小結 382

第12章  Hadoop集群分析 383

12.1  基準測試和分析簡介 383

12.2  HDFS 385

12.3  NameNode 386

12.3.1  NNBench 386

12.3.2  NNThroughputBenchmark 387

12.3.3  合成加載生成器 389

12.4  YARN 392

12.5  Hive 393

12.5.1  TPC-DS 393

12.5.2  TPC-H 394

12.6  混合工作負載 395

12.6.1  Rumen 395

12.6.2  Gridmix 396

12.7  本章小結 397

第4部分  Hadoop的安全機制

第13章  Hadoop中的角色及其執行內容 401

13.1  Hadoop安全問題的各種因素 401

13.2  系統安全 402

13.3  Kerberos驗證機制 403

13.3.1  Kerberos的優點 404

13.3.2  Kerberos驗證流 404

13.4  用戶權限 406

13.4.1  Ranger 407

13.4.2  Sentry 408

13.5  Hadoop 3.0中的安全特徵列表 409

13.6  本章小結 411

第14章  網絡和數據安全 413

14.1  Hadoop網絡安全 413

14.1.1  隔離不同類型的網絡 413

14.1.2  網絡防火牆 415

14.1.3  Hadoop服務的網絡邊界安全工具 415

14.2  加密技術 417

14.2.1  傳輸數據加密 417

14.2.2  靜態數據加密 418

14.3  數據屏蔽機制 419

14.4  過濾機制 420

14.4.1  行級別過濾機制 420

14.4.2  列級別過濾機制 421

14.5  本章小結 421

第15章  監測Hadoop 423

15.1  通用監測機制 423

15.1.1  HDFS指標 423

15.1.2  YARN指標 425

15.1.3  ZooKeeper指標 426

15.1.4  Apache Ambari 426

15.2  安全監測機制 427

15.2.1  安全信息和事件管理 427

15.2.2  SIEM的工作方式 428

15.2.3  入侵檢測系統 429

15.2.4  入侵預防系統 430

15.3  本章小結 430