| 书[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核心机制的钥匙。
评分这本书的排版风格很吸引我。虽然我还没有深入阅读,但从书本的整体布局来看,它似乎采用了图文并茂的方式,将复杂的概念用清晰的图表来呈现,这对于理解分布式系统的底层架构非常有帮助。我一直觉得,对于像Hadoop YARN这样复杂的系统,单纯的文字描述很容易让人感到枯燥和难以理解,而生动的图示能够极大地提升阅读的效率和效果。我特别希望书中能够提供大量的架构图、流程图和UML图,清晰地展示YARN各个组件的内部结构、通信方式以及数据流向。例如,对于ApplicationMaster如何向ResourceManager申请资源,ResourceManager如何分配资源给Container,NodeManager如何启动和管理Container等过程,我都希望能通过详细的图示来理解。这种可视化讲解方式,能够帮助我更快地把握YARN的核心逻辑,理解其精巧的设计思想,为我日后在实际工作中遇到相关问题时,能够提供更清晰的思路和解决方案。
评分这本书的目录给我一种“干货满满”的预感。我注意到其中有专门的章节在讲解YARN的整体架构,这让我非常兴奋。我非常喜欢这种循序渐进的讲解方式,从宏观到微观,先建立起整体的认知框架,然后再深入到各个组件的细节。我对YARN的ResourceManager和NodeManager的职责划分,以及ApplicationMaster在整个资源调度流程中的作用特别好奇。我希望书中能详细介绍它们之间的交互机制,以及它们是如何协同工作的。此外,书中关于资源模型、调度器(如CapacityScheduler、FairScheduler)的详细讲解,也正是我急需了解的部分。我希望能够理解不同的调度器是如何根据实际需求来分配和管理集群资源的,以及它们在不同场景下的优劣势。对于我这样一名希望能够深入理解Hadoop YARN底层原理的读者来说,这些深入的讲解将非常有价值,能够帮助我更好地理解Hadoop集群的运作机制,并为日后的性能优化和问题排查提供理论支持。
评分我注意到这本书的作者在Hadoop领域拥有丰富的实践经验,这一点让我对这本书的内容质量充满了信心。在阅读技术书籍时,我非常看重作者的实践背景,因为只有真正经历过并解决过实际问题,才能写出真正有价值、有深度的内容。我希望这本书能够不仅仅停留在理论层面,而是能够结合作者在实际项目中的经验,深入剖析YARN在实际应用中可能遇到的挑战和解决方案。例如,关于YARN的资源隔离、故障恢复、高可用性等方面的实现细节,我非常希望能得到更深入的讲解。我希望书中能够分享一些作者在优化YARN性能、解决集群稳定性问题方面的经验和心得,这些内容对于我这样的开发者来说,无疑是极其宝贵的财富,能够帮助我少走弯路,更快地掌握Hadoop YARN的精髓。
评分这本书的封面设计给我留下了深刻的印象,金属质感的深蓝色搭配着一种抽象的、仿佛数据流动的金色线条,非常有科技感。拿在手里,纸张的厚度和印刷的清晰度都相当不错,让人感觉这是一本值得细细品读的专业书籍。我一直对大数据技术,特别是Hadoop生态系统非常感兴趣,但之前接触的资料大多停留在概念层面,缺乏对底层实现细节的深入了解。这本书的书名里“内幕”、“深入解析”、“架构设计与实现原理”这些字眼,无疑正是我所渴望寻找的。我期望它能像解剖一样,一层一层地揭开Hadoop YARN的神秘面纱,让我能真正理解其背后的设计哲学和精妙之处,而不是仅仅停留在“知道有YARN”这个层面。我特别希望书中能够详细阐述YARN是如何管理集群资源、调度各种应用,以及它与其他Hadoop组件(如HDFS、MapReduce)是如何协同工作的。作为一名开发者,我更看重的是那些能够帮助我理解“为什么这么设计”以及“如何利用这些设计来优化我的应用”的内容。希望这本书能够满足我这方面的期待,为我的Hadoop学习之路打下坚实的基础。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有