Hadoop技術內幕:深入解析YARN架構設計與實現原理

Hadoop技術內幕:深入解析YARN架構設計與實現原理
定價:414
NT $ 360
  • 作者:董西成/著
  • 出版社:機械工業出版社
  • 出版日期:2014-01-01
  • 語言:簡體中文
  • ISBN10:7111445341
  • ISBN13:9787111445340
  • 裝訂:377頁 / 普通級 / 1-1
 

內容簡介

本書是「Hadoop技術內幕」系列的第3本書,前面兩本分別對Common、HDFS和MapReduce進行了深入分析和講解,贏得了極好的口碑,Hadoop領域幾乎人手一冊,本書則對YARN展開了深入的探討,是首部關於YARN的專著。仍然由資深Hadoop技術專家董西成執筆,根據最新的Hadoop 2.0版本撰寫,權威社區ChinaHadoop鼎力推薦。

本書從應用角度系統講解了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命令等非常有用的資料。

董西成 資深Hadoop技術實踐者和研究者,對Hadoop技術有非常深刻的認識和理解,有着豐富的實踐經驗。曾經參與了商用Hadoop原型的研發,以及人民搜索的分布式日志系統、全網圖片搜索引擎、Hadoop調度器等多個項目的設計與研發,實踐經驗非常豐富。對Hadoop的源代碼有深入的研究,能通過修改Hadoop的源代碼來完成二次開發和解決各種復雜的問題。熱衷於分享,撰寫了大量關於Hadoop的技術文章並分享在自己的博客上,由於文章技術含量高,所以非常受歡迎,這使得他在Hadoop技術圈內頗具知名度和影響力。
 

目錄

前言

第一部分 准備篇

第1章 環境准備
1.1准備學習環境
1.1.1基礎軟件下載
1.1.2如何准備Linux環境
1.2獲取Hadoop源代碼
1.3搭建Hadoop源代碼閱讀環境
1.3.1創建Hadoop工程
1.3.2Hadoop源代碼閱讀技巧
1.4Hadoop源代碼組織結構
1.5Hadoop初體驗
1.5.1搭建Hadoop環境
1.5.2HadoopShell介紹
1.6編譯及調試Hadoop源代碼
1.6.1編譯Hadoop源代碼
1.6.2調試Hadoop源代碼
1.7小結

第2章 YARN設計理念與基本架構
2.1YARN產生背景
2.1.1MRv1的局限性
2.1.2輕量級彈性計算平台
2.2Hadoop基礎知識
2.2.1術語解釋
2.2.2Hadoop版本變遷
2.3YARN基本設計思想
2.3.1基本框架對比
2.3.2編程模型對比
2.4YARN基本架構
2.4.1YARN基本組成結構
2.4.2YARN通信協議
2.5YARN工作流程
2.6多角度理解YARN
2.6.1並行編程
2.6.2資源管理系統
2.6.3雲計算
2.7本書涉及內容
2.8小結

第二部分 YARN核心設計篇

第3章 YARN基礎庫
3.1概述
3.2第三方開源庫
3.2.1ProtocolBuffers
3.2.2ApacheAvro
3.3底層通信庫
3.3.1RPC通信模型
3.3.2HadoopRPC的特點概述
3.3.3RPC總體架構
3.3.4HadoopRPC使用方法
3.3.5HadoopRPC類詳解
3.3.6HadoopRPC參數調優
3.3.7YARNRPC實現
3.3.8YARNRPC應用實例
3.4服務庫與事件庫
3.4.1服務庫
3.4.2事件庫
3.4.3YARN服務庫和事件庫的使用方法
3.4.4事件驅動帶來的變化
3.5狀態機庫
3.5.1YARN狀態轉換方式
3.5.2狀態機類
3.5.3狀態機的使用方法
3.5.4狀態機可視化
3.6源代碼閱讀引導
3.7小結
3.8問題討論

第4章 YARN應用程序設計方法
4.1概述
4.2客戶端設計
4.2.1客戶端編寫流程
4.2.2客戶端編程庫
4.3ApplicationMaster設計
4.3.1ApplicationMaster編寫流程
4.3.2ApplicationMaster編程庫
4.4YARN應用程序實例
4.4.1DistributedShell
4.4.2UnmanagedAM
4.5源代碼閱讀引導
4.6小結
4.7問題討論

第5章 ResourceManager剖析
5.1概述
5.1.1ResourceManager基本職能
5.1.2ResourceManager內部架構
5.1.3ResourceManager事件與事件處理器
5.2用戶交互模塊
5.2.1ClientRMService
5.2.2AdminService
5.3ApplicationMaster管理
5.4NodeManager管理
5.5Application管理
5.6狀態機管理
5.6.1RMApp狀態機
5.6.2RMAppAttempt狀態機
5.6.3RMContainer狀態機
5.6.4RMNode狀態機
5.7幾個常見行為分析
5.7.1啟動ApplicationMaster
5.7.2申請與分配Container
5.7.3殺死Application
5.7.4Container超時
5.7.5ApplicationMaster超時
5.7.6NodeManager超時
5.8安全管理
5.8.1術語介紹
5.8.2Hadoop認證機制
5.8.3Hadoop授權機制
5.9容錯機制
5.9.1HadoopHA基本框架
5.9.2YARNHA實現
5.10源代碼閱讀引導
5.11小結
5.12問題討論

第6章 資源調度器
6.1資源調度器背景
6.2HOD調度器
6.2.1Torque資源管理器
6.2.2HOD作業調度
6.3YARN資源調度器的基本架構
6.3.1基本架構
6.3.2資源表示模型
6.3.3資源調度模型
6.3.4資源搶占模型
6.4YARN層級隊列管理機制
6.4.1層級隊列管理機制
6.4.2隊列命名規則
6.5CapacityScheduler
6.5.1CapacityScheduler的功能
6.5.2CapacityScheduler實現
6.6FairScheduler
6.6.1FairScheduler功能介紹
6.6.2FairScheduler實現
6.6.3FairScheduler與CapacityScheduler對比
6.7其他資源調度器介紹
6.8源代碼閱讀引導
6.9小結
6.10問題討論

第7章 NodeManager剖析
7.1概述
7.1.1NodeManager基本職能
7.1.2NodeManager內部架構
7.1.3NodeManager事件與事件處理器
7.2節點健康狀況檢測
7.2.1自定義Shell腳本
7.2.2檢測磁盤損壞數目
7.3分布式緩存機制
7.3.1資源可見性與分類
7.3.2分布式緩存實現
7.4目錄結構管理
7.4.1數據目錄管理
7.4.2日志目錄管理
7.5狀態機管理
7.5.1Application狀態機
7.5.2Container狀態機
7.5.3LocalizedResource狀態機
7.6Container生命周期剖析
7.6.1Container資源本地化
7.6.2Container運行
7.6.3Container資源清理
7.7資源隔離
7.7.1Cgroups介紹
7.7.2內存資源隔離
7.7.3CPU資源隔離
7.8源代碼閱讀引導
7.9小結
7.10問題討論
……

第三部分 計算框架篇

第四部分 高級篇

附錄A YARN安裝指南
附錄B YARN配置參數介紹
附錄C HadoopShell命令介紹
附錄D 參考資料
網路書店 類別 折扣 價格
  1. 新書
    87
    $360