当前位置:主页 > 计算机电子书 > 程序设计 > Hadoop下载
Hadoop技术内幕:深入解析YARN架构设计与实现原理

Hadoop技术内幕:深入解析YARN架构设计与实现原理 PDF 超清版

  • 更新:2021-12-02
  • 大小:120.74MB
  • 类别:Hadoop
  • 作者:董西成
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

《Hadoop技术内幕:深入解析YARN架构设计与实现原理》是“Hadoop技术内幕”系列的第3本书,前面两本分别对Common、HDFS和MapReduce进行了深入分析和讲解,赢得了极好的口碑,Hadoop领域几乎人手一册,本书则对YARN展开了深入的探讨,是首部关于YARN的专著。仍然由资深Hadoop技术专家董西成执笔,根据最新的Hadoop 2.0版本撰写,权威社区ChinaHadoop鼎力推荐。

《Hadoop技术内幕:深入解析YARN架构设计与实现原理》从应用角度系统讲解了YARN的基本库和组件用法、应用程序设计方法、YARN上流行的各种计算框架(MapReduce、Tez、Storm、Spark),以及多个类YARN的开源资源管理系统(Corona和Mesos);从源代码角度深入分析YARN的设计理念与基本架构、各个组件的实现原理,以及各种计算框架的实现细节。

《Hadoop技术内幕:深入解析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章环境准备
  • 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.2Hadoop Shell介绍
  • 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.1Protocol Buffers
  • 3.2.2Apache Avro
  • 3.3底层通信库
  • 3.3.1RPC通信模型
  • 3.3.2Hadoop RPC的特点概述
  • 3.3.3RPC总体架构
  • 3.3.4Hadoop RPC使用方法
  • 3.3.5Hadoop RPC类详解
  • 3.3.6Hadoop RPC参数调优
  • 3.3.7YARN RPC实现
  • 3.3.8YARN RPC应用实例
  • 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.2Unmanaged AM
  • 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.1Hadoop HA基本框架
  • 5.9.2YARN HA实现
  • 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.5Capacity Scheduler
  • 6.5.1Capacity Scheduler的功能
  • 6.5.2Capacity Scheduler实现
  • 6.6Fair Scheduler
  • 6.6.1Fair Scheduler功能介绍
  • 6.6.2Fair Scheduler实现
  • 6.6.3Fair Scheduler与Capacity Scheduler对比
  • 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问题讨论
  • 第三部分计算框架篇
  • 第8章离线计算框架MapReduce
  • 8.1概述
  • 8.1.1基本构成
  • 8.1.2事件与事件处理器
  • 8.2MapReduce客户端
  • 8.2.1ApplicationClientProtocol协议
  • 8.2.2MRClientProtocol协议
  • 8.3MRAppMaster工作流程
  • 8.4MR作业生命周期及相关状态机
  • 8.4.1MR作业生命周期
  • 8.4.2Job状态机
  • 8.4.3Task状态机
  • 8.4.4TaskAttempt状态机
  • 8.5资源申请与再分配
  • 8.5.1资源申请
  • 8.5.2资源再分配
  • 8.6Container启动与释放
  • 8.7推测执行机制
  • 8.7.1算法介绍
  • 8.7.2推测执行相关类
  • 8.8作业恢复
  • 8.9数据处理引擎
  • 8.10历史作业管理器
  • 8.11MRv1与MRv2对比
  • 8.11.1MRv1 On YARN
  • 8.11.2MRv1与MRv2架构比较
  • 8.11.3MRv1与MRv2编程接口兼容性
  • 8.12源代码阅读引导
  • 8.13小结
  • 8.14问题讨论
  • 第9章DAG计算框架Tez
  • 9.1背景
  • 9.2Tez数据处理引擎
  • 9.2.1Tez编程模型
  • 9.2.2Tez数据处理引擎
  • 9.3DAG Master实现
  • 9.3.1DAG编程模型
  • 9.3.2MR到DAG转换
  • 9.3.3DAGAppMaster
  • 9.4优化机制
  • 9.4.1当前YARN框架存在的问题
  • 9.4.2Tez引入的优化技术
  • 9.5Tez应用场景
  • 9.6与其他系统比较
  • 9.7小结
  • 第10章实时/内存计算框架Storm/Spark
  • 10.1Hadoop MapReduce的短板
  • 10.2实时计算框架Storm
  • 10.2.1Storm编程模型
  • 10.2.2Storm基本架构
  • 10.2.3Storm On YARN
  • 10.3内存计算框架Spark
  • 10.3.1Spark编程模型
  • 10.3.2Spark基本架构
  • 10.3.3Spark On YARN
  • 10.3.4Spark/Storm On YARN比较
  • 10.4小结
  • 第四部分高级篇
  • 第11章Facebook Corona剖析
  • 11.1概述
  • 11.1.1Corona的基本架构
  • 11.1.2Corona的RPC协议与序列化框架
  • 11.2Corona设计特点
  • 11.2.1推式网络通信模型
  • 11.2.2基于Hadoop 0.20版本
  • 11.2.3使用Thrift
  • 11.2.4深度集成Fair Scheduler
  • 11.3工作流程介绍
  • 11.3.1作业提交
  • 11.3.2资源申请与任务启动
  • 11.4主要模块介绍
  • 11.4.1ClusterManager
  • 11.4.2CoronaJobTracker
  • 11.4.3CoronaTaskTracker
  • 11.5小结
  • 第12章Apache Mesos剖析
  • 12.1概述
  • 12.2底层网络通信库
  • 12.2.1libprocess基本架构
  • 12.2.2一个简单示例
  • 12.3Mesos服务
  • 12.3.1SchedulerProcess
  • 12.3.2Mesos Master
  • 12.3.3Mesos Slave
  • 12.3.4ExecutorProcess
  • 12.4Mesos工作流程
  • 12.4.1框架注册过程
  • 12.4.2Framework Executor注册过程
  • 12.4.3资源分配到任务运行过程
  • 12.4.4任务启动过程
  • 12.4.5任务状态更新过程
  • 12.5Mesos资源分配策略
  • 12.5.1Mesos资源分配框架
  • 12.5.2Mesos资源分配算法
  • 12.6Mesos容错机制
  • 12.6.1Mesos Master容错
  • 12.6.2Mesos Slave容错
  • 12.7Mesos应用实例
  • 12.7.1Hadoop On Mesos
  • 12.7.2Storm On Mesos
  • 12.8Mesos与YARN对比
  • 12.9小结
  • 第13章YARN总结与发展趋势
  • 13.1资源管理系统设计动机
  • 13.2资源管理系统架构演化
  • 13.2.1集中式架构
  • 13.2.2双层调度架构
  • 13.2.3共享状态架构
  • 13.3YARN发展趋势
  • 13.3.1YARN自身的完善
  • 13.3.2以YARN为核心的生态系统
  • 13.3.3YARN周边工具的完善
  • 13.4小结
  • 附录AYARN安装指南
  • 附录BYARN配置参数介绍
  • 附录CHadoop Shell命令介绍
  • 附录D参考资料
     

资源下载

资源下载地址1:https://pan.baidu.com/s/z1ifAFEWhBTbATPlfUUMgHaA

相关资源

网友留言