分享标准 分享快乐

基础信息

图书名
Hadoop技术内幕:深入解析YARN架构设计与实现原理
作者
董西成
出版日期
2013-12-01 00:00:00
I.S.B.N.
9787111445340
文件大小
18.6 MB
文件类型
PDF 格式
打开方式
Adobe Reader
关 键 词

内容简介

  全球首部Hadoop YARN专著,资深Hadoop技术专家根据最新版本撰写,ChinaHadoop和51CTO等专业技术社区联袂推荐!

  从应用角度系统讲解YARN的基本库和组件用法、应用程序设计方法、YARN上流行的各种计算框架,以及多个类YARN的开源资源管理系统。

  从源代码角度深入分析YARN的设计理念与基本架构、各个组件的实现原理,以及各种计算框架的实现细节。

图书目录

  前言

  第一部分 准备篇

  第1章 环境准备

  1.1 准备学习环境

  1.1.1 基础软件下载

  1.1.2 如何准备Linux环境

  1.2 获取Hadoop源代码

  1.3 搭建Hadoop源代码阅读环境

  1.3.1 创建Hadoop工程

  1.3.2 Hadoop源代码阅读技巧

  1.4 Hadoop源代码组织结构

  1.5 Hadoop初体验

  1.5.1 搭建Hadoop环境

  1.5.2 Hadoop Shell介绍

  1.6 编译及调试Hadoop源代码

  1.6.1 编译Hadoop源代码

  1.6.2 调试Hadoop源代码

  1.7 小结

  第2章 YARN设计理念与基本架构

  2.1 YARN产生背景

  2.1.1 MRv1的局限性

  2.1.2 轻量级弹性计算平台

  2.2 Hadoop基础知识

  2.2.1 术语解释

  2.2.2 Hadoop版本变迁

  2.3 YARN基本设计思想

  2.3.1 基本框架对比

  2.3.2 编程模型对比

  2.4 YARN 基本架构

  2.4.1 YARN基本组成结构

  2.4.2 YARN通信协议

  2.5 YARN工作流程

  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.1 Protocol Buffers

  3.2.2 Apache Avro

  3.3 底层通信库

  3.3.1 RPC通信模型

  3.3.2 Hadoop RPC的特点概述

  3.3.3 RPC总体架构

  3.3.4 Hadoop RPC使用方法

  3.3.5 Hadoop RPC类详解

  3.3.6 Hadoop RPC参数调优

  3.3.7 YARN RPC实现

  3.3.8 YARN RPC应用实例

  3.4 服务库与事件库

  3.4.1 服务库

  3.4.2 事件库

  3.4.3 YARN服务库和事件库的使用方法

  3.4.4 事件驱动带来的变化

  3.5 状态机库

  3.5.1 YARN状态转换方式

  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.3 ApplicationMaster设计

  4.3.1 ApplicationMaster编写流程

  4.3.2 ApplicationMaster编程库

  4.4 YARN 应用程序实例

  4.4.1 DistributedShell

  4.4.2 Unmanaged AM

  4.5 源代码阅读引导

  4.6 小结

  4.7 问题讨论

  第5章 ResourceManager剖析

  5.1 概述

  5.1.1 ResourceManager基本职能

  5.1.2 ResourceManager内部架构

  5.1.3 ResourceManager事件与事件处理器

  5.2 用户交互模块

  5.2.1 ClientRMService

  5.2.2 AdminService

  5.3 ApplicationMaster管理

  5.4 NodeManager管理

  5.5 Application管理

  5.6 状态机管理

  5.6.1 RMApp状态机

  5.6.2 RMAppAttempt状态机

  5.6.3 RMContainer状态机

  5.6.4 RMNode状态机

  5.7 几个常见行为分析

  5.7.1 启动ApplicationMaster

  5.7.2 申请与分配Container

  5.7.3 杀死Application

  5.7.4 Container超时

  5.7.5 ApplicationMaster超时

  5.7.6 NodeManager超时

  5.8 安全管理

  5.8.1 术语介绍

  5.8.2 Hadoop认证机制

  5.8.3 Hadoop授权机制

  5.9 容错机制

  5.9.1 Hadoop HA基本框架

  5.9.2 YARN HA实现

  5.10 源代码阅读引导

  5.11 小结

  5.12 问题讨论

  第6章 资源调度器

  6.1 资源调度器背景

  6.2 HOD调度器

  6.2.1 Torque资源管理器

  6.2.2 HOD作业调度

  6.3 YARN资源调度器的基本架构

  6.3.1 基本架构

  6.3.2 资源表示模型

  6.3.3 资源调度模型

  6.3.4 资源抢占模型

  6.4 YARN层级队列管理机制

  6.4.1 层级队列管理机制

  6.4.2 队列命名规则

  6.5 Capacity Scheduler

  6.5.1 Capacity Scheduler的功能

  6.5.2 Capacity Scheduler实现

  6.6 Fair Scheduler

  6.6.1 Fair Scheduler功能介绍

  6.6.2 Fair Scheduler实现

  6.6.3 Fair Scheduler与Capacity Scheduler对比

  6.7 其他资源调度器介绍

  6.8 源代码阅读引导

  6.9 小结

  6.10 问题讨论

  第7章 NodeManager剖析

  7.1 概述

  7.1.1 NodeManager基本职能

  7.1.2 NodeManager内部架构

  7.1.3 NodeManager事件与事件处理器

  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.1 Application状态机

  7.5.2 Container状态机

  7.5.3 LocalizedResource状态机

  7.6 Container生命周期剖析

  7.6.1 Container资源本地化

  7.6.2 Container运行

  7.6.3 Container资源清理

  7.7 资源隔离

  7.7.1 Cgroups介绍

  7.7.2 内存资源隔离

  7.7.3 CPU资源隔离

  7.8 源代码阅读引导

  7.9 小结

  7.10 问题讨论

  第三部分 计算框架篇

  第8章 离线计算框架MapReduce

  8.1 概述

  8.1.1 基本构成

  8.1.2 事件与事件处理器

  8.2 MapReduce客户端

  8.2.1 ApplicationClientProtocol协议

  8.2.2 MRClientProtocol协议

  8.3 MRAppMaster工作流程

  8.4 MR作业生命周期及相关状态机

  8.4.1 MR作业生命周期

  8.4.2 Job状态机

  8.4.3 Task状态机

  8.4.4 TaskAttempt状态机

  8.5 资源申请与再分配

  8.5.1 资源申请

  8.5.2 资源再分配

  8.6 Container启动与释放

  8.7 推测执行机制

  8.7.1 算法介绍

  8.7.2 推测执行相关类

  8.8 作业恢复

  8.9 数据处理引擎

  8.10 历史作业管理器

  8.11 MRv1与MRv2对比

  8.11.1 MRv1 On YARN

  8.11.2 MRv1与MRv2架构比较

  8.11.3 MRv1与MRv2编程接口兼容性

  8.12 源代码阅读引导

  8.13 小结

  8.14 问题讨论

  第9章 DAG计算框架Tez

  9.1 背景

  9.2 Tez数据处理引擎

  9.2.1 Tez编程模型

  9.2.2 Tez数据处理引擎

  9.3 DAG Master实现

  9.3.1 DAG编程模型

  9.3.2 MR到DAG转换

  9.3.3 DAGAppMaster

  9.4 优化机制

  9.4.1 当前YARN框架存在的问题

  9.4.2 Tez引入的优化技术

  9.5 Tez应用场景

  9.6 与其他系统比较

  9.7 小结

  第10章 实时/内存计算框架Storm/Spark

  10.1 Hadoop MapReduce的短板

  10.2 实时计算框架Storm

  10.2.1 Storm编程模型

  10.2.2 Storm基本架构

  10.2.3 Storm On YARN

  10.3 内存计算框架Spark

  10.3.1 Spark编程模型

  10.3.2 Spark基本架构

  10.3.3 Spark On YARN

  10.3.4 Spark/Storm On YARN比较

  10.4 小结

  第四部分 高级篇

  第11章 Facebook Corona剖析

  11.1 概述

  11.1.1 Corona的基本架构

  11.1.2 Corona的RPC协议与序列化框架

  11.2 Corona设计特点

  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.1 ClusterManager

  11.4.2 CoronaJobTracker

  11.4.3 CoronaTaskTracker

  11.5 小结

  第12章 Apache Mesos剖析

  12.1 概述

  12.2 底层网络通信库

  12.2.1 libprocess基本架构

  12.2.2 一个简单示例

  12.3 Mesos服务

  12.3.1 SchedulerProcess

  12.3.2 Mesos Master

  12.3.3 Mesos Slave

  12.3.4 ExecutorProcess

  12.4 Mesos工作流程

  12.4.1 框架注册过程

  12.4.2 Framework Executor注册过程

  12.4.3 资源分配到任务运行过程

  12.4.4 任务启动过程

  12.4.5 任务状态更新过程

  12.5 Mesos资源分配策略

  12.5.1 Mesos资源分配框架

  12.5.2 Mesos资源分配算法

  12.6 Mesos容错机制

  12.6.1 Mesos Master容错

  12.6.2 Mesos Slave容错

  12.7 Mesos应用实例

  12.7.1 Hadoop On Mesos

  12.7.2 Storm On Mesos

  12.8 Mesos与YARN对比

  12.9 小结

  第13章 YARN总结与发展趋势

  13.1 资源管理系统设计动机

  13.2 资源管理系统架构演化

  13.2.1 集中式架构

  13.2.2 双层调度架构

  13.2.3 共享状态架构

  13.3 YARN发展趋势

  13.3.1 YARN自身的完善

  13.3.2 以YARN为核心的生态系统

  13.3.3 YARN周边工具的完善

  13.4 小结

  附录A YARN安装指南

  附录B YARN配置参数介绍

  附录C Hadoop Shell命令介绍

  附录D 参考资料

下载地址

相关标准

下载声明

  • 本站资源均为RAR/ZIP 格式压缩,为确保资源能够正常使用,请安装【WinRAR】等进行解压;
  • 解压格式为PDF的,推荐使用【Adobe Reader 8.0】以上版本进行阅读;
  • 本站资料均为网上收集,若无意中侵犯了您的版权,请与我们联系;
  • 为防止未经授权的盗链及采集,下载地址延迟显示,敬请理解;

猜你喜欢