劍指大數據 — Hadoop 學習精要

尚硅谷教育

  • 出版商: 電子工業
  • 出版日期: 2022-10-01
  • 定價: $630
  • 售價: 6.4$402
  • 語言: 簡體中文
  • 頁數: 308
  • ISBN: 7121443929
  • ISBN-13: 9787121443923
  • 相關分類: Hadoop大數據 Big-data
  • 立即出貨 (庫存=1)

商品描述

Hadoop是使用最廣泛的大數據處理框架之一,在大數據領域有著極其重要的地位,掌握Hadoop可以讓學習者對大數據的理解更進一步。本書是基於Hadoop 3.1.3編寫的,從大數據的特點和處理難點入手,逐步講解Hadoop的起源和發展。從搭建Hadoop的學習環境開始,依次對Hadoop的三大功能模塊進行重點講解,並且結合大量案例,細致地講解HDFS、MapReduce、YARN的內核原理和調優方法,還會擴展講解Hadoop的高可用實現、在生產環境中的調優方法及源碼解讀。本書廣泛適用於大數據的學習者與從業人員,是大數據學習的必備書籍。

目錄大綱

第1章 大數據概論 1
1.1 大數據的特徵 1
1.2 大數據的發展前景 2
1.2.1 大數據的應用場景 2
1.2.2 大數據的未來發展 3
1.3 大數據生態體系與Hadoop 4
1.3.1 Hadoop的發展史 4
1.3.2 大數據生態體系 5
1.3.3 Hadoop架構 7
1.4 本章總結 10
第2章 環境準備 11
2.1 安裝VMware 11
2.2 安裝CentOS 11
2.3 安裝遠程終端 19
2.3.1 安裝Xshell 19
2.3.2 安裝SecureCRT 21
2.4 虛擬機配置 23
2.4.1 網絡配置 23
2.4.2 網絡IP地址配置 24
2.4.3 主機名配置 25
2.4.4 防火牆配置 25
2.4.5 一般用戶配置 26
2.4.6 克隆虛擬機 26
2.5 本章總結 27
第3章 Hadoop快速上手 28
3.1 集群角色 28
3.1.1 Hadoop集群的主要角色 28
3.1.2 YARN的主要組成部分 28
3.2 本地模式 30
3.2.1 安裝 30
3.2.2 運行官方示例程序 32
3.3 完全分佈式模式 33
3.3.1 SSH免密登錄 33
3.3.2 shell腳本準備 34
3.3.3 集群配置 36
3.3.4 NameNode格式化問題 42
3.3.5 配置歷史服務器與日誌聚集功能 44
3.3.6 Hadoop集群啟停腳本 47
3.3.7 集群時間同步 48
3.4 本章總結 50
第4章 分佈式文件系統HDFS 51
4.1 HDFS概述 51
4.1.1 HDFS背景及定義 51
4.1.2 HDFS的基本架構 52
4.2 HDFS的shell操作 53
4.2.1 命令大全 53
4.2.2 命令行命令實操 54
4.3 HDFS的API操作 58
4.3.1 客戶端環境準備 58
4.3.2 HDFS文件上傳案例 61
4.3.3 HDFS文件下載案例 62
4.3.4 HDFS文件重命名案例 63
4.3.5 HDFS文件刪除案例 63
4.3.6 HDFS文件詳情查看案例 63
4.3.7 HDFS文件和文件夾判斷案例 64
4.4 HDFS的讀/寫流程 65
4.4.1 HDFS中的數據塊大小 65
4.4.2 寫數據流程 65
4.4.3 讀數據流程 68
4.5 HDFS的工作機制 69
4.5.1 NameNode和SecondaryNameNode的工作機制 69
4.5.2 EditLog和FsImage文件解析 70
4.5.3 檢查點時間設置 76
4.5.4 DataNode的工作機制 76
4.5.5 數據完整性 77
4.6 本章總結 78
第5章 分佈式計算MapReduce 79
5.1 MapReduce概述 79
5.1.1 MapReduce定義 79
5.1.2 MapReduce核心思想 80
5.2 MapReduce編程入門 81
5.2.1 官方示例程序WordCount源碼 81
5.2.2 編程規範 82
5.2.3 WordCount案例實操 82
5.3 Hadoop的序列化 89
5.3.1 序列化概述 89
5.3.2 Writable接口 89
5.3.3 序列化案例實操 90
5.4 MapReduce框架原理之InputFormat數據輸入 96
5.4.1 切片與MapTask並行度決定機制 96
5.4.2 Job提交流程源碼和FileInputFormat切片源碼詳解 98
5.4.3 FileInputFormat切片機制總結 101
5.4.4 TextInputFormat 101
5.4.5 CombineTextInputFormat切片機制 102
5.4.6 CombineTextInputFormat案例實操 103
5.5 MapReduce框架原理之shuffle機制 104
5.5.1 shuffle機制 104
5.5.2 分區 105
5.5.3 分區案例實操 106
5.5.4 WritableComparable排序 110
5.5.5 WritableComparable排序案例實操(全排序) 111
5.5.6 WritableComparable排序案例實操(區內排序) 116
5.5.7 Combiner合並 119
5.5.8 Combiner合並案例實操 120
5.6 MapReduce框架原理之OutputFormat數據輸出 121
5.6.1 OutputFormat接口的實現類 121
5.6.2 自定義OutputFormat類的案例實操 122
5.7 MapReduce工作流程 126
5.8 Join 127
5.8.1 Reduce Join 127
5.8.2 Reduce Join案例實操 127
5.8.3 Map Join 133
5.8.4 Map Join案例實操 134
5.9 數據清洗 137
5.10 Hadoop中的數據壓縮 139
5.10.1 數據壓縮概述 139
5.10.2 壓縮參數配置 140
5.10.3 壓縮案例實操 141
5.11 本章總結 145
第6章 資源調度器YARN 146
6.1 YARN概述 146
6.1.1 基本架構 147
6.1.2 工作機制 148
6.2 YARN的資源調度器和調度算法 150
6.2.1 FIFO調度器 150
6.2.2 容量調度器 150
6.2.3 公平調度器 152
6.3 YARN實操 156
6.3.1 常用的命令行命令 156
6.3.2 核心參數 158
6.3.3 核心參數配置案例 159
6.3.4 容量調度器配置案例 163
6.3.5 公平調度器配置案例 168
6.3.6 Tool接口案例 171
6.4 本章總結 174
第7章 高可用HA 175
7.1 ZooKeeper詳解 175
7.1.1 ZooKeeper入門 175
7.1.2 ZooKeeper安裝 178
7.1.3 ZooKeeper的內部原理 180
7.1.4 ZooKeeper的命令操作 181
7.2 HA概述 188
7.2.1 什麽是HA 188
7.2.2 HDFS HA的工作機制 188
7.3 Hadoop HA集群的搭建 189
7.3.1 HDFS HA手動故障轉移 189
7.3.2 HDFS HA自動故障轉移 192
7.3.3 YARN HA 195
7.3.4 Hadoop HA集群規劃 199
7.4 本章總結 199
第8章 生產調優手冊 200
8.1 HDFS的核心參數 200
8.1.1 NameNode的內存生產配置 200
8.1.2 NameNode心跳並發配置 202
8.1.3 啟用回收站功能 203
8.2 HDFS集群壓測 204
8.2.1 測試HDFS的寫性能 205
8.2.2 測試HDFS的讀性能 207
8.3 HDFS的多目錄配置 208
8.3.1 NameNode的多目錄配置 208
8.3.2 DataNode的多目錄配置 208
8.3.3 集群數據均衡之磁盤之間的數據均衡 209
8.4 HDFS集群的擴容及縮容 209
8.4.1 添加白名單 209
8.4.2 服役新服務器 212
8.4.3 服務器之間的數據均衡 214
8.4.4 黑名單退役服務器 214
8.5 HDFS的存儲優化策略 216
8.5.1 糾刪碼 216
8.5.2 異構存儲 218
8.6 HDFS的故障排除 223
8.6.1 NameNode故障處理 223
8.6.2 集群安全模式&磁盤數據損壞 224
8.6.3 慢磁盤監控 226
8.6.4 小文件存檔 227
8.7 MapReduce的生產經驗 228
8.7.1 MapReduce程序運行較慢的原因 228
8.7.2 MapReduce的常用調優參數 229
8.7.3 MapReduce的數據傾斜 231
8.8 Hadoop的綜合調優 232
8.8.1 Hadoop的小文件優化方法 232
8.8.2 測試MapReduce的計算性能 233
8.8.3 企業開發場景案例 234
8.9 本章總結 239
第9章 源碼解析 240
9.1 RPC通信原理 240
9.2 NameNode啟動源碼解析 243
9.2.1 查看源碼的準備工作 243
9.2.2 啟動9870埠服務 246
9.2.3 加載鏡像文件和編輯日誌文件 247
9.2.4 初始化RPC服務器端 248
9.2.5 檢查資源 249
9.2.6 檢測心跳信息並進行超時判斷 252
9.2.7 退出安全模式 255
9.3 DataNode啟動源碼解析 257
9.3.1 查看源碼的準備工作 257
9.3.2 初始化DataXceiverServer 259
9.3.3 初始化HTTP服務 260
9.3.4 初始化RPC服務器端 261
9.3.5 DataNode向NameNode註冊 262
9.3.6 DataNode向NameNode發送心跳信息 266
9.4 HDFS寫數據流程的源碼解析 268
9.4.1 查看源碼的準備工作 269
9.4.2 Client向NameNode發起寫請求 269
9.4.3 NameNode處理Client的寫請求 270
9.4.4 DataStreamer啟動流程 271
9.4.5 向DataStreamer的隊列中寫數據 274
9.4.6 建立管道之機架感知 276
9.4.7 建立管道之socket發送 278
9.4.8 建立管道之socket接收 280
9.4.9 客戶端接收DataNode的寫數據響應 283
9.5 YARN源碼解析 284
9.5.1 查看源碼的準備工作 284
9.5.2 創建YARN客戶端並提交任務 286
9.5.3 啟動MRAppMaster 288
9.5.4 調度器任務執行 291
9.6 Hadoop的源碼編譯 294
9.6.1 前期準備工作 295
9.6.2 安裝工具包 295
9.6.3 編譯源碼 297
9.7 本章總結 298