更新时间:2020-02-21 18:11:15
封面
版权信息
前言
第1章 大数据与Hadoop
1.1 什么是大数据
1.2 大数据的用途
1.3 并行计算
1.4 数据流
1.5 函数式程序设计与Lambda演算
1.6 MapReduce
1.7 大数据处理平台
1.8 Hadoop的由来和发展
1.9 Hadoop的MapReduce计算框架
1.10 Hadoop的分布式容错文件系统HDFS
第2章 研究方法
2.1 摘要卡片
2.2 情景分析
2.3 面向对象的程序设计
2.4 怎样阅读分析Hadoop的代码
第3章 Hadoop集群和YARN
3.1 Hadoop集群
3.2 Hadoop系统的结构
3.3 Hadoop的YARN框架
3.4 状态机
3.5 资源管理器ResourceManager
3.6 资源调度器ResourceScheduler
第4章 Hadoop的RPC机制
4.1 RPC与RMI
4.2 ProtoBuf
4.3 Java的Reflection机制
4.4 RM节点上的RPC服务
4.5 RPC客户端的创建
第5章 Hadoop作业的提交
5.1 从“地方”到“中央”
5.2 示例一:采用老API的ValueAggregatorJob
5.3 示例二:采用新API的WordCount
5.4 示例三:采用ToolRunner的QuasiMonteCarlo
5.5 从Job.submit()开始的第二段流程
5.6 YARNRunner和ResourceMgrDelegate
第6章 作业的调度与指派
6.1 作业的受理
6.2 NM节点的心跳和容器周转
6.3 容器的分配
第7章 NodeManager与任务投运
7.1 AMLauncher与任务投运
7.2 MRAppMaster或AM的创建
7.3 资源本地化
7.4 容器的投运
第8章 MRAppMaster与作业投运
8.1 MRAppMaster
8.2 App资源与容器
8.3 容器的跨节点投送和启动
8.4 目标节点上的容器投运
8.5 Uber模式下的本地容器分配与投运
8.6 任务的启动
8.7 MapTask的运行
8.8 ReduceTask的投运
第9章 YARN子系统的计算框架
9.1 MapReduce框架
9.2 Streaming框架
9.3 Chain框架
9.4 Client与ApplicationMaster
第10章 MapReduce框架中的数据流
10.1 数据流和工作流
10.2 Mapper的输入
10.3 Mapper的输出缓冲区MapOutputBuffer
10.4 作为Collector的MapOutputBuffer
10.5 环形缓冲区kvbuffer
10.6 对MapOutputBuffer的输出
10.7 Sort和Spill
10.8 Map计算的终结与Spill文件的合并
10.9 Reduce阶段
10.10 Merge
10.11 Reduce阶段的输入和输出
第11章 Hadoop的文件系统 HDFS
11.1 文件的分布与容错
11.2 目录节点NameNode
11.3 FSNamesystem
11.4 文件系统目录FSDirectory
11.5 文件系统映像FsImage
11.6 文件系统更改记录FSEditLog
11.7 FSEditLog与Journal
11.8 EditLog记录的重演
11.9 版本升级与故障恢复
第12章 HDFS的DataNode
12.1 DataNode
12.2 数据块的存储
12.3 RamDisk复份的持久化存储
12.4 目录扫描线程DirectoryScanner
12.5 数据块扫描线程DataBlockScanner
第13章 DataNode与NameNode的互动
13.1 DataNode与NameNode的互动
13.2 心跳HeartBeat
13.3 BlockReport
第14章 DataNode间的互动
14.1 数据块的接收和存储
14.2 命令DNA_TRANSFER的执行
第15章 HDFS的文件访问
15.1 DistributedFileSystem和DFSClient
15.2 FsShell