Hadoop海量數據處理

許政

  • 出版商: 清華大學
  • 出版日期: 2024-08-01
  • 定價: $599
  • 售價: 8.5$509
  • 語言: 簡體中文
  • ISBN: 7302666946
  • ISBN-13: 9787302666943
  • 相關分類: Hadoop
  • 下單後立即進貨 (約2週~3週)

  • Hadoop海量數據處理-preview-1
  • Hadoop海量數據處理-preview-2
  • Hadoop海量數據處理-preview-3
Hadoop海量數據處理-preview-1

商品描述

"《Hadoop海量數據處理》從Hadoop的基礎知識講起,逐步深入Hadoop分佈式文件系統(HDFS)和MapReduce分佈式編程框架的核心技術,幫助讀者全面、系統、深入地理解Hadoop海量數據處理技術的精髓。本書在講解技術原理時穿插大量的典型示例,並詳解兩個典型項目實戰案例,幫助讀者提高實際項目開發水平。 《Hadoop海量數據處理》共15章,分為4篇。第1篇Hadoop基礎知識,包括大數據概述、Hadoop概述、Hadoop環境搭建與配置;第2篇Hadoop分佈式存儲技術,包括HDFS概述、HDFS基礎操作、HDFS的讀寫原理和工作機制、Hadoop 3.x的新特性;第3篇MapReduce分佈式編程框架,包括MapReduce概述、MapReduce開發基礎、MapReduce框架的原理、MapReduce數據壓縮、YARN資源調度器、Hadoop企業級優化;第4篇項目實戰,包括Hadoop高可用集群搭建實戰和統計TopN經典項目案例實戰。 《Hadoop海量數據處理》通俗易懂、案例豐富、實用性強,適合Hadoop初學者和進階人員閱讀,也適合大數據工程師、數據分析工程師和數據科學家等大數據技術從業人員和愛好者閱讀,還適合作為高等院校和相關培訓機構的大數據教材。"

目錄大綱

目錄

  

第1篇  Hadoop基礎知識

第1章  大數據概述 2

1.1  大數據簡介 2

1.2  大數據的特點 2

1.3  大數據的發展前景 3

1.4  大數據技術生態體系 4

1.4.1  數據採集與傳輸類 4

1.4.2  數據存儲與管理類 5

1.4.3  資源管理類 5

1.4.4  數據計算類 5

1.4.5  任務調度類 6

1.5  大數據部門的組織架構 6

1.6  小結 7

第2章  Hadoop概述 8

2.1  Hadoop簡介 8

2.2  Hadoop的發展歷史 8

2.3  Hadoop的三大發行版本 9

2.4  Hadoop的優勢 10

2.5  Hadoop各版本之間的區別 10

2.6  Hadoop的組成 11

2.6.1  HDFS架構簡介 11

2.6.2  YARN架構簡介 12

2.6.3  MapReduce架構簡介 13

2.7  小結 14

第3章  Hadoop環境搭建與配置 15

3.1  搭建開發環境 15

3.1.1  對操作系統的要求 15

3.1.2  對軟件環境的要求 17

3.1.3  下載和安裝JDK 18

3.1.4  配置JDK環境變量 19

3.1.5  下載和安裝Hadoop 19

3.1.6  配置Hadoop的環境變量 19

3.1.7  配置Hadoop的系統參數 20

3.1.8  解讀Hadoop的目錄結構 21

3.2  配置本地運行模式 22

3.2.1  在Linux環境下運行Hadoop官方的Grep案例 22

3.2.2  在Linux環境下運行Hadoop官方的WordCount案例 23

3.2.3  在Windows環境下搭建Hadoop 23

3.2.4  在Windows環境下運行WordCount案例 25

3.3  配置偽分佈式模式 26

3.3.1  啟動HDFS並運行MapReduce程序 26

3.3.2  啟動YARN並運行MapReduce程序 31

3.3.3  配置歷史服務器 35

3.3.4  配置日誌的聚集功能 36

3.4  配置完全分佈式模式 38

3.4.1  分佈式集群環境準備 39

3.4.2  配置完全分佈式集群 42

3.4.3  配置Hadoop集群單點啟動 46

3.4.4  測試完全分佈式集群 47

3.4.5  配置Hadoop集群整體啟動 48

3.4.6  配置Hadoop集群時間同步 50

3.5  小結 52

第2篇  Hadoop分佈式存儲技術

第4章  HDFS概述 54

4.1  HDFS的背景和定義 54

4.1.1  HDFS產生的背景 54

4.1.2  HDFS的定義 54

4.2  HDFS的優缺點 55

4.2.1  HDFS的優點 55

4.2.2  HDFS的缺點 56

4.3  HDFS的組成架構 56

4.4  設置HDFS文件塊的大小 58

4.5  小結 59

第5章  HDFS基礎操作 60

5.1  HDFS的Shell命令操作 60

5.1.1  HDFS的幫助命令 60

5.1.2  顯示HDFS的目錄信息 62

5.1.3  創建HDFS目錄 62

5.1.4  將本地文件復制到HDFS中 62

5.1.5  將HDFS中的文件復制到本地文件系統中 63

5.1.6  輸出HDFS文件內容 63

5.1.7  追加HDFS文件內容 64

5.1.8  修改HDFS文件操作權限 65

5.1.9  將本地文件移動至HDFS中 65

5.1.10  復制HDFS文件 66

5.1.11  移動HDFS文件 66

5.1.12  上傳HDFS文件 67

5.1.13  下載HDFS文件 67

5.1.14  刪除文件或目錄 67

5.1.15  批量下載HDFS文件 68

5.1.16  顯示文件的末尾 68

5.1.17  統計目錄的大小 69

5.1.18  設置HDFS中的文件副本數量 69

5.2  HDFS的API調用操作 69

5.2.1  準備開發環境 69

5.2.2  通過API創建目錄 72

5.2.3  通過API上傳文件 73

5.2.4  通過API下載文件 73

5.2.5  通過API刪除目錄 74

5.2.6  通過API修改文件名稱 74

5.2.7  通過API查看文件詳情 75

5.2.8  通過API判斷文件和目錄 76

5.2.9  通過I/O流上傳文件 77

5.2.10  通過I/O流下載文件 77

5.2.11  通過I/O流定位文件讀取位置 78

5.3  小結 79

第6章  HDFS的讀寫原理和工作機制 80

6.1  剖析HDFS的寫數據流程 80

6.1.1  剖析文件寫入流程 80

6.1.2  計算網絡拓撲節點的距離 82

6.1.3  機架感知 83

6.2  剖析HDFS的讀數據流程 83

6.3  剖析NameNode和SecondaryNameNode 的工作機制 85

6.3.1  解析NN和2NN的工作機制 85

6.3.2  解析FsImage和Edits文件 88

6.3.3  CheckPoint時間設置 94

6.3.4  NameNode故障處理 95

6.3.5  集群安全模式 97

6.3.6  NameNode多目錄配置 99

6.4  剖析DataNode 100

6.4.1  解析DataNode的工作機制 100

6.4.2  保證數據的完整性 101

6.4.3  設置掉線時限參數 102

6.4.4  服役新的數據節點 102

6.4.5  退役舊的數據節點 109

6.4.6  DataNode多目錄配置 111

6.5  小結 112

第7章  Hadoop 3.x的新特性 113

7.1  糾刪碼技術 113

7.1.1  探究糾刪碼技術原理 113

7.1.2  簡述糾刪碼模式佈局方案 113

7.1.3  解讀糾刪碼策略 114

7.1.4  查看糾刪碼 115

7.1.5  設置糾刪碼 115

7.2  復制HDFS集群間的數據 116

7.2.1  採用scp實現HDFS集群間的數據復制 116

7.2.2  採用distcp實現HDFS集群間的數據復制 116

7.3  解決海量小文件的存儲問題 116

7.3.1  HDFS存儲小文件的弊端 117

7.3.2  將海量小文件存儲為HAR文件 117

7.4  配置HDFS回收站 118

7.4.1  回收站的功能參數說明 118

7.4.2  解析回收站的工作機制 119

7.4.3  開啟回收站的功能 119

7.4.4  修改訪問回收站的用戶名稱 119

7.4.5  測試回收站的功能 120

7.4.6  恢復回收站中的數據 120

7.4.7  清空回收站 121

7.5  HDFS快照管理 121

7.6  小結 122

第3篇  MapReduce分佈式編程框架

第8章  MapReduce概述 124

8.1  MapReduce的定義 124

8.2  MapReduce的優缺點 124

8.2.1  MapReduce的優點 124

8.2.2  MapReduce的缺點 125

8.3  MapReduce的核心編程思想 126

8.3.1  深入理解核心思想 126

8.3.2  MapReduce進程解析 128

8.4  官方的WordCount源碼解析 128

8.5  小結 131

第9章  MapReduce開發基礎 132

9.1  Hadoop的序列化概述 132

9.1.1  序列化與反序列化的定義 132

9.1.2  進行序列化的原因 132

9.1.3  Hadoop序列化的特點 132

9.2  數據序列化的類型 132

9.2.1  基本類型 133

9.2.2  集合類型 133

9.2.3  用戶自定義類型 133

9.2.4  序列化類型案例實戰 134

9.3  如何開發MapReduce程序 143

9.3.1  MapReduce編程規範 143

9.3.2  WordCount案例實戰 144

9.4  小結 152

第10章  MapReduce框架的原理 153

10.1  InputFormat數據輸入解析 153

10.1.1  切片與MapTask的並行度決定機制 153

10.1.2  FileInputFormat的切片機制解析 154

10.1.3  CombineTextInputFormat的切片機制 155

10.1.4  CombineTextInputFormat案例實戰 157

10.1.5  歸納FileInputFormat的其他子類 165

10.1.6  KeyValueTextInputFormat案例實戰 167

10.1.7  NLineInputFormat案例實戰 175

10.1.8  自定義InputFormat案例實戰 184

10.2  解析MapReduce的工作流程 194

10.3  剖析Shuffle的工作機制 198

10.3.1  Shuffle機制簡介 198

10.3.2  Partition分區簡介 199

10.3.3  Partition分區案例實戰 199

10.3.4  WritableComparable排序簡介 210

10.3.5  WritableComparable全排序案例實戰 211

10.3.6  WritableComparable區內排序案例實戰 221

10.3.7  Combiner合並簡介 230

10.3.8  Combiner合並案例實戰 231

10.3.9  GroupingComparator分組簡介 238

10.3.10  GroupingComparator分組案例實戰 238

10.4  剖析MapTask的工作機制 247

10.5  剖析ReduceTask的工作機制 248

10.6  OutputFormat數據輸出類詳解 249

10.6.1  OutputFormat接口實現類簡介 250

10.6.2  自定義OutputFormat接口實現類案例實戰 250

10.7  Join的多種應用 258

10.7.1  Reduce Join案例實戰 258

10.7.2  Map Join案例實戰 267

10.8  小結 277

第11章  MapReduce數據壓縮 278

11.1  數據壓縮概述 278

11.2  MapReduce支持的壓縮編碼器 278

11.3  選擇壓縮方式 279

11.3.1  Gzip壓縮 280

11.3.2  Bzip2壓縮 280

11.3.3  LZO壓縮 280

11.3.4  Snappy壓縮 280

11.4  配置壓縮參數 281

11.5  壓縮實戰案例 281

11.5.1  實現數據流的壓縮和解壓縮 281

11.5.2  實現Map輸出端壓縮 285

11.5.3  實現Reduce輸出端壓縮 287

11.6  小結 290

第12章  YARN資源調度器 291

12.1  解析YARN的基本架構 291

12.2  剖析YARN的工作機制 292

12.3  作業提交全過程 295

12.4  資源調度器的分類 296

12.5  任務的推測執行 298

12.6  小結 299

第13章  Hadoop企業級優化 300

13.1  HDFS優化 300

13.2  MapReduce優化 301

13.2.1  剖析MapReduce程序運行慢的原因 301

13.2.2  MapReduce的優化方法 302

13.3  小結 304

第4篇  項目實戰

第14章  Hadoop高可用集群搭建實戰 306

14.1  HA高可用簡介 306

14.2  HDFS-HA的工作機制 307

14.2.1  HDFS-HA的工作要點 307

14.2.2  HDFS-HA的自動故障轉移工作機制 308

14.3  搭建HDFS-HA集群 310

14.3.1  準備集群環境 310

14.3.2  規劃集群節點 312

14.3.3  下載和安裝JDK 313

14.3.4  配置JDK環境變量 313

14.3.5  安裝ZooKeeper集群 314

14.3.6  配置ZooKeeper集群 314

14.3.7  啟動ZooKeeper集群 315

14.3.8  配置HDFS-HA集群 316

14.3.9  配置HDFS-HA自動故障轉移 319

14.4  搭建YARN-HA集群 320

14.4.1  YARN-HA集群的工作機制 320

14.4.2  配置YARN-HA集群 321

14.5  小結 323

第15章  統計TopN經典項目案例實戰 324

15.1  項目案例構建流程 324

15.1.1  創建輸入文件 324

15.1.2  搭建一個Maven工程 325

15.1.3  定義序列化對象 329

15.1.4  編寫Mapper文件 330

15.1.5  編寫Reducer文件 332

15.1.6  編寫Driver文件 333

15.1.7  打包Maven工程 334

15.1.8  啟動Hadoop集群 334

15.1.9  運行TopN程序 335

15.2  小結 336

  

Hadoop海量數據處理:技術原理與項目實踐

  

目錄

  

·VI·

  

  

·XI·