| 書[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 |
讀完這本書的標題,我立刻被“技術內幕”和“實現原理”這些字眼所吸引。作為一名對Hadoop技術充滿好奇心的開發者,我一直希望能更深入地瞭解YARN這個Hadoop生態係統中至關重要的資源管理和作業調度框架。我對YARN的各個組件是如何協同工作的,以及其背後隱藏的精妙算法和設計模式充滿瞭興趣。我非常希望這本書能夠詳細地介紹YARN的各個模塊,包括ResourceManager、NodeManager、ApplicationMaster以及Client等,並深入闡述它們之間的通信機製和工作流程。特彆是對於YARN的資源調度機製,我希望能得到更詳盡的解釋,包括它如何理解和管理各種類型的資源,以及它如何根據不同的應用需求來做齣最優的調度決策。這本書,或許能成為我理解Hadoop YARN核心機製的鑰匙。
評分這本書的目錄給我一種“乾貨滿滿”的預感。我注意到其中有專門的章節在講解YARN的整體架構,這讓我非常興奮。我非常喜歡這種循序漸進的講解方式,從宏觀到微觀,先建立起整體的認知框架,然後再深入到各個組件的細節。我對YARN的ResourceManager和NodeManager的職責劃分,以及ApplicationMaster在整個資源調度流程中的作用特彆好奇。我希望書中能詳細介紹它們之間的交互機製,以及它們是如何協同工作的。此外,書中關於資源模型、調度器(如CapacityScheduler、FairScheduler)的詳細講解,也正是我急需瞭解的部分。我希望能夠理解不同的調度器是如何根據實際需求來分配和管理集群資源的,以及它們在不同場景下的優劣勢。對於我這樣一名希望能夠深入理解Hadoop YARN底層原理的讀者來說,這些深入的講解將非常有價值,能夠幫助我更好地理解Hadoop集群的運作機製,並為日後的性能優化和問題排查提供理論支持。
評分這本書的封麵設計給我留下瞭深刻的印象,金屬質感的深藍色搭配著一種抽象的、仿佛數據流動的金色綫條,非常有科技感。拿在手裏,紙張的厚度和印刷的清晰度都相當不錯,讓人感覺這是一本值得細細品讀的專業書籍。我一直對大數據技術,特彆是Hadoop生態係統非常感興趣,但之前接觸的資料大多停留在概念層麵,缺乏對底層實現細節的深入瞭解。這本書的書名裏“內幕”、“深入解析”、“架構設計與實現原理”這些字眼,無疑正是我所渴望尋找的。我期望它能像解剖一樣,一層一層地揭開Hadoop YARN的神秘麵紗,讓我能真正理解其背後的設計哲學和精妙之處,而不是僅僅停留在“知道有YARN”這個層麵。我特彆希望書中能夠詳細闡述YARN是如何管理集群資源、調度各種應用,以及它與其他Hadoop組件(如HDFS、MapReduce)是如何協同工作的。作為一名開發者,我更看重的是那些能夠幫助我理解“為什麼這麼設計”以及“如何利用這些設計來優化我的應用”的內容。希望這本書能夠滿足我這方麵的期待,為我的Hadoop學習之路打下堅實的基礎。
評分我注意到這本書的作者在Hadoop領域擁有豐富的實踐經驗,這一點讓我對這本書的內容質量充滿瞭信心。在閱讀技術書籍時,我非常看重作者的實踐背景,因為隻有真正經曆過並解決過實際問題,纔能寫齣真正有價值、有深度的內容。我希望這本書能夠不僅僅停留在理論層麵,而是能夠結閤作者在實際項目中的經驗,深入剖析YARN在實際應用中可能遇到的挑戰和解決方案。例如,關於YARN的資源隔離、故障恢復、高可用性等方麵的實現細節,我非常希望能得到更深入的講解。我希望書中能夠分享一些作者在優化YARN性能、解決集群穩定性問題方麵的經驗和心得,這些內容對於我這樣的開發者來說,無疑是極其寶貴的財富,能夠幫助我少走彎路,更快地掌握Hadoop YARN的精髓。
評分這本書的排版風格很吸引我。雖然我還沒有深入閱讀,但從書本的整體布局來看,它似乎采用瞭圖文並茂的方式,將復雜的概念用清晰的圖錶來呈現,這對於理解分布式係統的底層架構非常有幫助。我一直覺得,對於像Hadoop YARN這樣復雜的係統,單純的文字描述很容易讓人感到枯燥和難以理解,而生動的圖示能夠極大地提升閱讀的效率和效果。我特彆希望書中能夠提供大量的架構圖、流程圖和UML圖,清晰地展示YARN各個組件的內部結構、通信方式以及數據流嚮。例如,對於ApplicationMaster如何嚮ResourceManager申請資源,ResourceManager如何分配資源給Container,NodeManager如何啓動和管理Container等過程,我都希望能通過詳細的圖示來理解。這種可視化講解方式,能夠幫助我更快地把握YARN的核心邏輯,理解其精巧的設計思想,為我日後在實際工作中遇到相關問題時,能夠提供更清晰的思路和解決方案。
本站所有內容均為互聯網搜尋引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 靜流書站 版權所有