简介
本书是“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命令等非常有用的资料。
目录
前言
第一部分准备篇
第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问题讨论
……
第三部分计算框架篇
第四部分高级篇
附录AYARN安装指南
附录BYARN配置参数介绍
附录CHadoopShell命令介绍
附录D参考资料
第一部分准备篇
第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问题讨论
……
第三部分计算框架篇
第四部分高级篇
附录AYARN安装指南
附录BYARN配置参数介绍
附录CHadoopShell命令介绍
附录D参考资料
Hadoop internals:in-depth study of YARN
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
