更新时间:2018-12-31 23:14:26
封面
版权信息
前言
第一部分 准备篇
第1章 环境准备
1.1 准备学习环境
1.2 获取Hadoop源代码
1.3 搭建Hadoop源代码阅读环境
1.4 Hadoop源代码组织结构
1.5 Hadoop初体验
1.6 编译及调试Hadoop源代码
1.7 小结
第2章 YARN设计理念与基本架构
2.1 YARN 产生背景
2.2 Hadoop 基础知识
2.3 YARN 基本设计思想
2.4 YARN 基本架构
2.5 YARN 工作流程
2.6 多角度理解YARN
2.7 本书涉及内容
2.8 小结
第二部分 YARN 核心设计篇
第3章 YARN基础库
3.1 概述
3.2 第三方开源库
3.3 底层通信库
3.4 服务库与事件库
3.5 状态机库
3.6 源代码阅读引导
3.7 小结
3.8 问题讨论
第4章 YARN应用程序设计方法
4.1 概述
4.2 客户端设计
4.3 ApplicationMaster设计
4.4 YARN 应用程序实例
4.5 源代码阅读引导
4.6 小结
4.7 问题讨论
第5章 ResourceManager 剖析
5.1 概述
5.2 用户交互模块
5.3 ApplicationMaster管理
5.4 NodeManager管理
5.5 Application管理
5.6 状态机管理
5.7 几个常见行为分析
5.8 安全管理
5.9 容错机制
5.10 源代码阅读引导
5.11 小结
5.12 问题讨论
第6章 资源调度器
6.1 资源调度器背景
6.2 HOD调度器
6.3 YARN资源调度器的基本架构
6.4 YARN层级队列管理机制
6.5 Capacity Scheduler
6.6 Fair Scheduler
6.7 其他资源调度器介绍
6.8 源代码阅读引导
6.9 小结
6.10 问题讨论
第7章 NodeManager剖析
7.1 概述
7.2 节点健康状况检测
7.3 分布式缓存机制
7.4 目录结构管理
7.5 状态机管理
7.6 Container生命周期剖析
7.7 资源隔离
7.8 源代码阅读引导
7.9 小结
7.10 问题讨论
第三部分 计算框架篇
第8章 离线计算框架MapReduce
8.1 概述
8.2 MapReduce客户端
8.3 MRAppMaster工作流程
8.4 MR作业生命周期及相关状态机
8.5 资源申请与再分配
8.6 Container启动与释放
8.7 推测执行机制
8.8 作业恢复
8.9 数据处理引擎
8.10 历史作业管理器
8.11 MRv1与MRv2对比
8.12 源代码阅读引导
8.13 小结
8.14 问题讨论
第9章 DAG计算框架Tez
9.1 背景
9.2 Tez数据处理引擎
9.3 DAG Master实现
9.4 优化机制
9.5 Tez应用场景
9.6 与其他系统比较
9.7 小结
第10章 实时/内存计算框架Storm/Spark
10.1 Hadoop MapReduce的短板