書[0名0]: | Hadoop技術內幕:深入解析YARN架構設計與實現原理[按需印刷]|3768911 |
圖書定價: | 69元 |
圖書作者: | 董西成 |
齣版社: | 機械工業齣版社 |
齣版日期: | 2014/1/1 0:00:00 |
ISBN號: | 9787111445340 |
開本: | 16開 |
頁數: | 377 |
版次: | 1-1 |
作者簡介 |
董西成,資深Hadoop技術實踐者和研究者,對Hadoop技術有非常深刻的認識和理解,有著豐富的實踐經驗。曾經參與瞭[0商0]用Hadoop原型的研發,以及人民搜索的分布式日誌係統、全網圖片搜索引擎、Hadoop調度器等多個項目的設計與研發,實踐經驗非常豐富。對Hadoop的源代碼有深入的研究,能通過修改Hadoop的源代碼來完成二次開發和解決各種復雜的問題。熱衷於分享,撰寫瞭[0大0]量關於Hadoop的技術文章並分享在自己的博客上,由於文章技術含量高,所以非常受歡迎,這使得他在Hadoop技術圈內頗具[0知0][0名0]度和影響力。 齣版有Hadoop[0領0]域負有盛[0名0]的專著:《Hadoop技術內幕:深入解析MapReduce架構設計與實現原理》。 |
內容簡介 |
《Hadoop技術內幕:深入解析YARN架構設計與實現原理》是“Hadoop技術內幕”係列的[0第0]3本書,前麵兩本分彆對Common、HDFS和MapReduce進行瞭深入分析和講解,贏得瞭[0極0]好的口碑,Hadoop[0領0]域幾乎人手一冊,本書則對YARN展開瞭深入的探討,是[0首0]部關於YARN的專著。仍然由資深Hadoop技術專傢董西成執筆,根據新的Hadoop 2.0版本撰寫,社區ChinaHadoop鼎力推薦。 《Hadoop技術內幕:深入解析YARN架構設計與實現原理》從應用角度係統講解瞭YARN的基本庫和組件用[0法0]、應用程序設計方[0法0]、YARN上流行的各種計算框架(MapReduce、Tez、Storm、Spark),以及多個類YARN的開源資源管理係統(Corona和Mesos);從源代碼角度深入分析YARN的設計理念與基本架構、各個組件的實現原理,以及各種計算框架的實現細節。 全書共四部分13章:[0第0]一部分([0第0]1~2章)主要介紹瞭如何獲取、閱讀和調試Hadoop的源代碼,以及YARN的設計思想、基本架構和工作流程;[0第0]二部分([0第0]3~7章)結閤源代碼詳細剖析和講解瞭YARN的[0第0]三方開源庫、底層通信庫、服務庫、事件庫的基本使用和實現細節,詳細講解瞭YARN的應用程序設計方[0法0],深入講解和分析瞭ResourceManager、資源調度器、[0No0]deManager等組件的實現細節;[0第0]三篇([0第0]8~10章)則對離綫計算框架MapReduce、DAG計算框架Tez、實時計算框架Storm和內存計算框架Spark進行瞭詳細的講解;[0第0]四部分([0第0]11~13章)[0首0]先對Facebook Corona和Apache Mesos進行瞭深入講解,然後對YARN的發展趨勢進行瞭展望。附錄部分收錄瞭YARN安裝指南、YARN配置參數以及Hadoop Shell命令等非常有用的資料。 |
目錄 |
《Hadoop技術內幕:深入解析YARN架構設計與實現原理》 前 言 [0第0]一部分 準備篇 [0第0]1章 環境準備 2 1.1 準備[0學0]習環境 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 [0第0]2章 YARN設計理念與基本架構 21 2.1 YARN産生背景 21 2.1.1 MRv1的局限性 21 2.1.2 輕量級彈性計算平颱 22 2.2 Hadoop基礎[0知0]識 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 [0第0]二部分 YARN核心設計篇 [0第0]3章 YARN基礎庫 40 3.1 概述 40 3.2 [0第0]三方開源庫 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使用方[0法0] 49 3.3.5 Hadoop RPC類詳解 51 3.3.6 Hadoop RPC參數調[0優0] 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服務庫和事件庫的使用方[0法0] 68 3.4.4 事件驅動帶來的變化 70 3.5 狀態機庫 72 3.5.1 YARN狀態轉換方式 72 3.5.2 狀態機類 73 3.5.3 狀態機的使用方[0法0] 73 3.5.4 狀態機可視化 76 3.6 源代碼閱讀引導 76 3.7 小結 77 3.8 問題討論 77 [0第0]4章 YARN應用程序設計方[0法0] 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 [0第0]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 [0No0]deManager管理 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 RM[0No0]de狀態機 127 5.7 幾個常見行為分析 129 5.7.1 啓動ApplicationMaster 129 5.7.2 申請與分配Container 132 5.7.3 殺死Application 134 5.7.4 Container[0超0]時 135 5.7.5 ApplicationMaster[0超0]時 138 5.7.6 [0No0]deManager[0超0]時 138 5.8 安全管理 139 5.8.1 術語介紹 139 5.8.2 Hadoop認證機製 139 5.8.3 Hadoop授[0權0]機製 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 [0第0]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 隊列命[0名0]規則 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 [0第0]7章 [0No0]deManager剖析 188 7.1 概述 188 7.1.1 [0No0]deManager基本職能 188 7.1.2 [0No0]deManager內部架構 190 7.1.3 [0No0]deManager事件與事件處理器 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 [0第0]三部分 計算框架篇 [0第0]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 算[0法0]介紹 265 8.7.2 推測執行相關類 266 8.8 作業恢復 267 8.9 數據處理引擎 269 8.10 曆[0史0]作業管理器 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 [0第0]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 [0優0]化機製 291 9.4.1 [0當0]前YARN框架存在的問題 291 9.4.2 Tez引入的[0優0]化技術 292 9.5 Tez應用場景 292 9.6 與其他係統比較 294 9.7 小結 295 [0第0]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 [0第0]四部分 高級篇 [0第0]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 [0第0]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資源分配算[0法0] 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 [0第0]13章 YARN總結與發展趨勢 356 13.1 資源管理係統設計動機 356 13.2 資源管理係統架構演化 357 13.2.1 集中式架構 357 13.2.2 [0[0雙0]0]層調度架構 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 |
評分
評分
評分
評分
評分
評分
評分
評分
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版權所有