Hadoop技術內幕

Hadoop技術內幕 pdf epub mobi txt 電子書 下載2025

出版者:機械工業齣版社
作者:董西成
出品人:
頁數:396
译者:
出版時間:2013-11-30
價格:69.00元
裝幀:平裝
isbn號碼:9787111445340
叢書系列:大數據技術叢書
圖書標籤:
  • Hadoop
  • YARN
  • 大數據
  • hadoop2.0
  • 計算機
  • hadoop
  • MapReduce
  • 分布式
  • Hadoop
  • 大數據
  • 分布式係統
  • 技術內幕
  • 雲計算
  • 架構設計
  • 編程
  • 開源
  • 高並發
  • 數據處理
想要找書就要到 小美書屋
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

具體描述

本書從應用角度係統講解瞭YARN的基本庫和組件用法、應用程序設計方法、YARN上流行的各種計算框架(MapReduce、Tez、Storm、Spark),以及多個類YARN的開源資源管理係統(Corona和Mesos);從源代碼角度深入分析YARN的設計理念與基本架構、各個組件的實現原理,以及各種計算框架的實現細節。

全書共四部分13章:第一部分(第1~2章)主要介紹瞭如何獲取、閱讀和調試Hadoop的源代碼,以及YARN的設計思想、基本架構和工作流程;第二部分(第3~7章)結閤源代碼詳細剖析和講解瞭YARN的第三方開源庫、底層通信庫、服務庫、事件庫的基本使用和實現細節,詳細講解瞭YARN的應用程序設計方法,深入講解和分析瞭ResourceManager、資源調度器、NodeManager等組件的實現細節;第三篇(第8~10章)則對離綫計算框架MapReduce、DAG計算框架Tez、實時計算框架Storm和內存計算框架Spark進行瞭詳細的講解;第四部分(第11~13章)首先對Facebook Corona和Apache Mesos進行瞭深入講解,然後對YARN的發展趨勢進行瞭展望。附錄部分收錄瞭YARN安裝指南、YARN配置參數以及Hadoop Shell命令等非常有用的資料。

著者簡介

圖書目錄

前 言
第一部分 準備篇
第1章 環境準備 2
1.1 準備學習環境 2
1.1.1 基礎軟件下載 2
1.1.2 如何準備Linux環境 3
1.2 獲取Hadoop源代碼 5
1.3 搭建Hadoop源代碼閱讀環境 5
1.3.1 創建Hadoop工程 5
1.3.2 Hadoop源代碼閱讀技巧 8
1.4 Hadoop源代碼組織結構 10
1.5 Hadoop初體驗 12
1.5.1 搭建Hadoop環境 12
1.5.2 Hadoop Shell介紹 15
1.6 編譯及調試Hadoop源代碼 16
1.6.1 編譯Hadoop源代碼 17
1.6.2 調試Hadoop源代碼 18
1.7 小結 20
第2章 YARN設計理念與基本架構 21
2.1 YARN産生背景 21
2.1.1 MRv1的局限性 21
2.1.2 輕量級彈性計算平颱 22
2.2 Hadoop基礎知識 23
2.2.1 術語解釋 23
2.2.2 Hadoop版本變遷 25
2.3 YARN基本設計思想 29
2.3.1 基本框架對比 29
2.3.2 編程模型對比 30
2.4 YARN 基本架構 31
2.4.1 YARN基本組成結構 32
2.4.2 YARN通信協議 34
2.5 YARN工作流程 35
2.6 多角度理解YARN 36
2.6.1 並行編程 36
2.6.2 資源管理係統 36
2.6.3 雲計算 37
2.7 本書涉及內容 38
2.8 小結 38
第二部分 YARN核心設計篇
第3章 YARN基礎庫 40
3.1 概述 40
3.2 第三方開源庫 41
3.2.1 Protocol Buffers 41
3.2.2 Apache Avro 43
3.3 底層通信庫 46
3.3.1 RPC通信模型 46
3.3.2 Hadoop RPC的特點概述 48
3.3.3 RPC總體架構 48
3.3.4 Hadoop RPC使用方法 49
3.3.5 Hadoop RPC類詳解 51
3.3.6 Hadoop RPC參數調優 57
3.3.7 YARN RPC實現 57
3.3.8 YARN RPC應用實例 61
3.4 服務庫與事件庫 65
3.4.1 服務庫 66
3.4.2 事件庫 66
3.4.3 YARN服務庫和事件庫的使用方法 68
3.4.4 事件驅動帶來的變化 70
3.5 狀態機庫 72
3.5.1 YARN狀態轉換方式 72
3.5.2 狀態機類 73
3.5.3 狀態機的使用方法 73
3.5.4 狀態機可視化 76
3.6 源代碼閱讀引導 76
3.7 小結 77
3.8 問題討論 77
第4章 YARN應用程序設計方法 78
4.1 概述 78
4.2 客戶端設計 79
4.2.1 客戶端編寫流程 80
4.2.2 客戶端編程庫 84
4.3 ApplicationMaster設計 84
4.3.1 ApplicationMaster編寫流程 84
4.3.2 ApplicationMaster編程庫 92
4.4 YARN 應用程序實例 95
4.4.1 DistributedShell 95
4.4.2 Unmanaged AM 99
4.5 源代碼閱讀引導 100
4.6 小結 100
4.7 問題討論 100
第5章 ResourceManager剖析 102
5.1 概述 102
5.1.1 ResourceManager基本職能 102
5.1.2 ResourceManager內部架構 103
5.1.3 ResourceManager事件與事件處理器 106
5.2 用戶交互模塊 108
5.2.1 ClientRMService 108
5.2.2 AdminService 109
5.3 ApplicationMaster管理 109
5.4 NodeManager管理 112
5.5 Application管理 113
5.6 狀態機管理 114
5.6.1 RMApp狀態機 115
5.6.2 RMAppAttempt狀態機 119
5.6.3 RMContainer狀態機 123
5.6.4 RMNode狀態機 127
5.7 幾個常見行為分析 129
5.7.1 啓動ApplicationMaster 129
5.7.2 申請與分配Container 132
5.7.3 殺死Application 134
5.7.4 Container超時 135
5.7.5 ApplicationMaster超時 138
5.7.6 NodeManager超時 138
5.8 安全管理 139
5.8.1 術語介紹 139
5.8.2 Hadoop認證機製 139
5.8.3 Hadoop授權機製 142
5.9 容錯機製 144
5.9.1 Hadoop HA基本框架 145
5.9.2 YARN HA實現 148
5.10 源代碼閱讀引導 149
5.11 小結 151
5.12 問題討論 152
第6章 資源調度器 153
6.1 資源調度器背景 153
6.2 HOD調度器 154
6.2.1 Torque資源管理器 154
6.2.2 HOD作業調度 155
6.3 YARN資源調度器的基本架構 157
6.3.1 基本架構 157
6.3.2 資源錶示模型 160
6.3.3 資源調度模型 161
6.3.4 資源搶占模型 164
6.4 YARN層級隊列管理機製 169
6.4.1 層級隊列管理機製 169
6.4.2 隊列命名規則 171
6.5 Capacity Scheduler 172
6.5.1 Capacity Scheduler的功能 172
6.5.2 Capacity Scheduler實現 176
6.6 Fair Scheduler 179
6.6.1 Fair Scheduler功能介紹 180
6.6.2 Fair Scheduler實現 182
6.6.3 Fair Scheduler與Capacity Scheduler對比 183
6.7 其他資源調度器介紹 184
6.8 源代碼閱讀引導 185
6.9 小結 186
6.10 問題討論 187
第7章 NodeManager剖析 188
7.1 概述 188
7.1.1 NodeManager基本職能 188
7.1.2 NodeManager內部架構 190
7.1.3 NodeManager事件與事件處理器 193
7.2 節點健康狀況檢測 194
7.2.1 自定義Shell腳本 194
7.2.2 檢測磁盤損壞數目 196
7.3 分布式緩存機製 196
7.3.1 資源可見性與分類 198
7.3.2 分布式緩存實現 200
7.4 目錄結構管理 203
7.4.1 數據目錄管理 203
7.4.2 日誌目錄管理 203
7.5 狀態機管理 206
7.5.1 Application狀態機 207
7.5.2 Container狀態機 210
7.5.3 LocalizedResource狀態機 213
7.6 Container生命周期剖析 214
7.6.1 Container資源本地化 214
7.6.2 Container運行 218
7.6.3 Container資源清理 222
7.7 資源隔離 224
7.7.1 Cgroups介紹 224
7.7.2 內存資源隔離 228
7.7.3 CPU資源隔離 230
7.8 源代碼閱讀引導 234
7.9 小結 235
7.10 問題討論 236
第三部分 計算框架篇
第8章 離綫計算框架MapReduce 238
8.1 概述 238
8.1.1 基本構成 238
8.1.2 事件與事件處理器 240
8.2 MapReduce客戶端 241
8.2.1 ApplicationClientProtocol協議 242
8.2.2 MRClientProtocol協議 243
8.3 MRAppMaster工作流程 243
8.4 MR作業生命周期及相關狀態機 246
8.4.1 MR作業生命周期 246
8.4.2 Job狀態機 249
8.4.3 Task狀態機 253
8.4.4 TaskAttempt狀態機 255
8.5 資源申請與再分配 259
8.5.1 資源申請 259
8.5.2 資源再分配 262
8.6 Container啓動與釋放 263
8.7 推測執行機製 264
8.7.1 算法介紹 265
8.7.2 推測執行相關類 266
8.8 作業恢復 267
8.9 數據處理引擎 269
8.10 曆史作業管理器 271
8.11 MRv1與MRv2對比 273
8.11.1 MRv1 On YARN 273
8.11.2 MRv1與MRv2架構比較 274
8.11.3 MRv1與MRv2編程接口兼容性 274
8.12 源代碼閱讀引導 275
8.13 小結 277
8.14 問題討論 277
第9章 DAG計算框架Tez 278
9.1 背景 278
9.2 Tez數據處理引擎 281
9.2.1 Tez編程模型 281
9.2.2 Tez數據處理引擎 282
9.3 DAG Master實現 284
9.3.1 DAG編程模型 284
9.3.2 MR到DAG轉換 286
9.3.3 DAGAppMaster 288
9.4 優化機製 291
9.4.1 當前YARN框架存在的問題 291
9.4.2 Tez引入的優化技術 292
9.5 Tez應用場景 292
9.6 與其他係統比較 294
9.7 小結 295
第10章 實時/內存計算框架Storm/Spark 296
10.1 Hadoop MapReduce的短闆 296
10.2 實時計算框架Storm 296
10.2.1 Storm編程模型 297
10.2.2 Storm基本架構 302
10.2.3 Storm On YARN 304
10.3 內存計算框架Spark 307
10.3.1 Spark編程模型 308
10.3.2 Spark基本架構 312
10.3.3 Spark On YARN 316
10.3.4 Spark/Storm On YARN比較 317
10.4 小結 317
第四部分 高級篇
第11章 Facebook Corona剖析 320
11.1 概述 320
11.1.1 Corona的基本架構 320
11.1.2 Corona的RPC協議與序列化框架 322
11.2 Corona設計特點 323
11.2.1 推式網絡通信模型 323
11.2.2 基於Hadoop 0.20版本 324
11.2.3 使用Thrift 324
11.2.4 深度集成Fair Scheduler 324
11.3 工作流程介紹 324
11.3.1 作業提交 325
11.3.2 資源申請與任務啓動 326
11.4 主要模塊介紹 327
11.4.1 ClusterManager 327
11.4.2 CoronaJobTracker 330
11.4.3 CoronaTaskTracker 333
11.5 小結 335
第12章 Apache Mesos剖析 336
12.1 概述 336
12.2 底層網絡通信庫 337
12.2.1 libprocess基本架構 338
12.2.2 一個簡單示例 338
12.3 Mesos服務 340
12.3.1 SchedulerProcess 341
12.3.2 Mesos Master 342
12.3.3 Mesos Slave 343
12.3.4 ExecutorProcess 343
12.4 Mesos工作流程 344
12.4.1 框架注冊過程 344
12.4.2 Framework Executor注冊過程 345
12.4.3 資源分配到任務運行過程 345
12.4.4 任務啓動過程 347
12.4.5 任務狀態更新過程 347
12.5 Mesos資源分配策略 348
12.5.1 Mesos資源分配框架 349
12.5.2 Mesos資源分配算法 349
12.6 Mesos容錯機製 350
12.6.1 Mesos Master容錯 350
12.6.2 Mesos Slave容錯 351
12.7 Mesos應用實例 352
12.7.1 Hadoop On Mesos 352
12.7.2 Storm On Mesos 353
12.8 Mesos與YARN對比 354
12.9 小結 355
第13章 YARN總結與發展趨勢 356
13.1 資源管理係統設計動機 356
13.2 資源管理係統架構演化 357
13.2.1 集中式架構 357
13.2.2 雙層調度架構 358
13.2.3 共享狀態架構 358
13.3 YARN發展趨勢 359
13.3.1 YARN自身的完善 359
13.3.2 以YARN為核心的生態係統 361
13.3.3 YARN周邊工具的完善 363
13.4 小結 363
附錄A YARN安裝指南 364
附錄B YARN配置參數介紹 367
附錄C Hadoop Shell命令介紹 371
附錄D 參考資料 374
· · · · · · (收起)

讀後感

評分

对于YARN的核心原理,作者还是都讲到了,而且分析得相对较透彻,只有较早和持续关注Hadoop 2.0-YARN的人才能这么快写出一本书来,对于这本书总体来说是不错的,干货不少,值得一看。 在给此书提点建议:文中使用了大量的状态图,还把所有的状态和事件全部都描述了一遍,个人觉...

評分

对于YARN的核心原理,作者还是都讲到了,而且分析得相对较透彻,只有较早和持续关注Hadoop 2.0-YARN的人才能这么快写出一本书来,对于这本书总体来说是不错的,干货不少,值得一看。 在给此书提点建议:文中使用了大量的状态图,还把所有的状态和事件全部都描述了一遍,个人觉...

評分

对于YARN的核心原理,作者还是都讲到了,而且分析得相对较透彻,只有较早和持续关注Hadoop 2.0-YARN的人才能这么快写出一本书来,对于这本书总体来说是不错的,干货不少,值得一看。 在给此书提点建议:文中使用了大量的状态图,还把所有的状态和事件全部都描述了一遍,个人觉...

評分

对于YARN的核心原理,作者还是都讲到了,而且分析得相对较透彻,只有较早和持续关注Hadoop 2.0-YARN的人才能这么快写出一本书来,对于这本书总体来说是不错的,干货不少,值得一看。 在给此书提点建议:文中使用了大量的状态图,还把所有的状态和事件全部都描述了一遍,个人觉...

評分

对于YARN的核心原理,作者还是都讲到了,而且分析得相对较透彻,只有较早和持续关注Hadoop 2.0-YARN的人才能这么快写出一本书来,对于这本书总体来说是不错的,干货不少,值得一看。 在给此书提点建议:文中使用了大量的状态图,还把所有的状态和事件全部都描述了一遍,个人觉...

用戶評價

评分

hadoop入門書籍,精彩

评分

書裏有很多錯誤

评分

解答瞭我的很多疑問。但我不是很喜歡在書裏大段貼代碼的做法,好在本身組織的還不錯

评分

書裏有很多錯誤

评分

看完書再去研究一下代碼會比較好,特彆是一堆狀態機

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 book.quotespace.org All Rights Reserved. 小美書屋 版权所有