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

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

  • 更新:2021-08-18
  • 大小:26.39MB
  • 类别:Hadoop技术
  • 作者:董西成
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

“Hadoop技术内幕”共两册,分别从源代码的角度对“Common+HDFS”和“MapReduce的架构设计和实现原理”进行了极为详细的分析。

本书由Hadoop领域资深的实践者亲自执笔,首先介绍了MapReduce的设计理念和编程模型,然后从源代码的角度深入分析了RPC框架、客户端、JobTracker、TaskTracker和Task等MapReduce运行时环境的架构设计与实现原理,最后从实际应用的角度深入讲解了Hadoop的性能优化、安全机制、多用户作业调度器和下一代MapReduce框架等高级主题和内容。

本书适合Hadoop的二次开发人员、应用开发工程师、运维工程师阅读。本书共12章,分4个部分(不包括附录):第一部分(第1~2章),介绍了Hadoop源代码的组织结构、获取、编译、调试、阅读环境搭建,以及MapReduce的设计理念和基本架构;第二部分(第3章),着重讲解了MapReduce的编程接口,主要包括旧API和新API两套编程接口,以及Hadoop工作流;第三部分(第4~8章)主要分析了MapReduce的运行时环境,包括RPC框架、客户端、JobTracker、TaskTracker和Task等的内部实现细节和机制剖析;第四部分(第9~12章)深入讲解了Hadoop的性能优化、多用户作业调度器、安全机制和下一代MapReduce框架等高级主题。

目录

  • 前言
  • 第一部分基础篇
  • 第1章阅读源代码前的准备/ 2
  • 1.1准备源代码学习环境/ 2
  • 1.1.1基础软件下载/ 2
  • 1.1.2如何准备Windows环境/ 3
  • 1.1.3如何准备Linux环境/ 6
  • 1.2获取Hadoop源代码/ 7
  • 1.3搭建Hadoop源代码阅读环境/ 8
  • 1.3.1创建Hadoop工程/ 8
  • 1.3.2Hadoop源代码阅读技巧/ 9
  • 1.4Hadoop源代码组织结构/ 10
  • 1.5Hadoop初体验/ 13
  • 1.5.1启动Hadoop/ 13
  • 1.5.2Hadoop Shell介绍/ 15
  • 1.5.3Hadoop Eclipse插件介绍/ 15
  • 1.6编译及调试Hadoop源代码/ 19
  • 1.6.1编译Hadoop源代码/ 19
  • 1.6.2调试Hadoop源代码/ 20
  • 1.7小结/ 23
  • 第2章MapReduce设计理念与基本架构/ 24
  • 2.1Hadoop发展史/ 24
  • 2.1.1Hadoop产生背景/ 24
  • 2.1.2Apache Hadoop新版本的特性/ 25
  • 2.1.3Hadoop版本变迁/ 26
  • 2.2Hadoop MapReduce设计目标/ 28
  • 2.3MapReduce编程模型概述/ 29
  • 2.3.1MapReduce编程模型简介/ 29
  • 2.3.2MapReduce编程实例/ 31
  • 2.4Hadoop基本架构/ 32
  • 2.4.1HDFS架构/ 33
  • 2.4.2Hadoop MapReduce架构/ 34
  • 2.5Hadoop MapReduce作业的生命周期/ 36
  • 2.6小结/ 38
  • 第二部分MapReduce编程模型篇
  • 第3章MapReduce编程模型/ 40
  • 3.1MapReduce编程模型概述/ 40
  • 3.1.1MapReduce编程接口体系结构/ 40
  • 3.1.2新旧MapReduce API比较/ 41
  • 3.2MapReduce API基本概念/ 42
  • 3.2.1序列化/ 42
  • 3.2.2Reporter参数/ 43
  • 3.2.3回调机制/ 43
  • 3.3Java API解析/ 44
  • 3.3.1作业配置与提交/ 44
  • 3.3.2InputFormat接口的设计与实现/ 48
  • 3.3.3OutputFormat接口的设计与实现/ 53
  • 3.3.4Mapper与Reducer解析/ 55
  • 3.3.5Partitioner接口的设计与实现/ 59
  • 3.4非Java API解析/ 61
  • 3.4.1Hadoop Streaming的实现原理/ 61
  • 3.4.2Hadoop Pipes的实现原理/ 64
  • 3.5Hadoop工作流/ 67
  • 3.5.1JobControl的实现原理/ 67
  • 3.5.2ChainMapper/ChainReducer的实现原理/ 69
  • 3.5.3Hadoop工作流引擎/ 71
  • 3.6小结/ 73
  • 第三部分MapReduce核心设计篇
  • 第4章Hadoop RPC框架解析/ 76
  • 4.1Hadoop RPC框架概述/ 76
  • 4.2Java基础知识/ 77
  • 4.2.1Java反射机制与动态代理/ 78
  • 4.2.2Java网络编程/ 80
  • 4.2.3Java NIO/ 82
  • 4.3Hadoop RPC基本框架分析/ 89
  • 4.3.1RPC基本概念/ 89
  • 4.3.2Hadoop RPC基本框架/ 91
  • 4.3.3集成其他开源RPC框架/ 98
  • 4.4MapReduce通信协议分析/ 100
  • 4.4.1MapReduce 通信协议概述/ 100
  • 4.4.2JobSubmissionProtocol通信协议/ 102
  • 4.4.3InterTrackerProtocol通信协议/ 102
  • 4.4.4TaskUmbilicalProtocol通信协议/ 103
  • 4.4.5其他通信协议/ 104
  • 4.5小结/ 106
  • 第5章作业提交与初始化过程分析/ 107
  • 5.1作业提交与初始化概述/ 107
  • 5.2作业提交过程详解/ 108
  • 5.2.1执行Shell命令/ 108
  • 5.2.2作业文件上传/ 109
  • 5.2.3产生InputSplit文件/ 111
  • 5.2.4作业提交到JobTracker/ 113
  • 5.3作业初始化过程详解/ 115
  • 5.4Hadoop DistributedCache原理分析/ 117
  • 5.4.1使用方法介绍/ 118
  • 5.4.2工作原理分析/ 120
  • 5.5小结/ 122
  • 第6章JobTracker内部实现剖析/ 123
  • 6.1JobTracker概述/ 123
  • 6.2JobTracker启动过程分析/ 125
  • 6.2.1JobTracker启动过程概述/ 125
  • 6.2.2重要对象初始化/ 125
  • 6.2.3各种线程功能/ 128
  • 6.2.4作业恢复/ 129
  • 6.3心跳接收与应答/ 129
  • 6.3.1更新状态/ 131
  • 6.3.2下达命令/ 131
  • 6.4Job和Task运行时信息维护/ 134
  • 6.4.1作业描述模型/ 134
  • 6.4.2JobInProgress/ 136
  • 6.4.3TaskInProgress/ 137
  • 6.4.4作业和任务状态转换图/ 139
  • 6.5容错机制/ 141
  • 6.5.1JobTracker容错/ 141
  • 6.5.2TaskTracker容错/ 142
  • 6.5.3Job/Task容错/ 145
  • 6.5.4Record容错/ 147
  • 6.5.5磁盘容错/ 151
  • 6.6任务推测执行原理/ 152
  • 6.6.1计算模型假设/ 153
  • 6.6.21.0.0版本的算法/ 153
  • 6.6.30.21.0版本的算法/ 154
  • 6.6.42.0版本的算法/ 156
  • 6.7Hadoop资源管理/ 157
  • 6.7.1任务调度框架分析/ 159
  • 6.7.2任务选择策略分析/ 162
  • 6.7.3FIFO调度器分析/ 164
  • 6.7.4Hadoop资源管理优化/ 165
  • 6.8小结/ 168
  • 第7章TaskTracker内部实现剖析/ 169
  • 7.1TaskTracker概述/ 169
  • 7.2TaskTracker启动过程分析/ 170
  • 7.2.1重要变量初始化/ 171
  • 7.2.2重要对象初始化/ 171
  • 7.2.3连接JobTracker/ 172
  • 7.3心跳机制/ 172
  • 7.3.1单次心跳发送/ 172
  • 7.3.2状态发送/ 175
  • 7.3.3命令执行/ 178
  • 7.4TaskTracker行为分析/ 179
  • 7.4.1启动新任务/ 179
  • 7.4.2提交任务/ 179
  • 7.4.3杀死任务/ 181
  • 7.4.4杀死作业/ 182
  • 7.4.5重新初始化/ 184
  • 7.5作业目录管理/ 184
  • 7.6启动新任务/ 186
  • 7.6.1任务启动过程分析/ 186
  • 7.6.2资源隔离机制/ 193
  • 7.7小结/ 195
  • 第8章Task运行过程分析/ 196
  • 8.1Task运行过程概述/ 196
  • 8.2基本数据结构和算法/ 197
  • 8.2.1IFile存储格式/ 197
  • 8.2.2排序/ 198
  • 8.2.3Reporter/ 201
  • 8.3Map Task内部实现/ 204
  • 8.3.1Map Task整体流程/ 204
  • 8.3.2Collect过程分析/ 205
  • 8.3.3Spill过程分析/ 213
  • 8.3.4Combine过程分析/ 214
  • 8.4Reduce Task内部实现/ 214
  • 8.4.1Reduce Task整体流程/ 215
  • 8.4.2Shuffle和Merge阶段分析/ 215
  • 8.4.3Sort和Reduce阶段分析/ 218
  • 8.5Map/Reduce Task优化/ 219
  • 8.5.1参数调优/ 219
  • 8.5.2系统优化/ 220
  • 8.6小结/ 224
  • 第四部分MapReduce高级篇
  • 第9章Hadoop性能调优/ 228
  • 9.1概述/ 228
  • 9.2从管理员角度进行调优/ 229
  • 9.2.1硬件选择/ 229
  • 9.2.2操作系统参数调优/ 229
  • 9.2.3JVM参数调优/ 230
  • 9.2.4Hadoop参数调优/ 230
  • 9.3从用户角度进行调优/ 235
  • 9.3.1应用程序编写规范/ 235
  • 9.3.2作业级别参数调优/ 235
  • 9.3.3任务级别参数调优/ 239
  • 9.4小结/ 240
  • 第10章Hadoop多用户作业调度器/ 241
  • 10.1多用户调度器产生背景/ 241
  • 10.2HOD/ 242
  • 10.2.1Torque资源管理器/ 242
  • 10.2.2HOD作业调度/ 243
  • 10.3Hadoop队列管理机制/ 245
  • 10.4Capacity Scheduler实现/ 246
  • 10.4.1Capacity Scheduler功能介绍/ 247
  • 10.4.2Capacity Scheduler实现/ 249
  • 10.4.3多层队列调度/ 254
  • 10.5Fair Scheduler实现/ 255
  • 10.5.1Fair Scheduler功能介绍/ 255
  • 10.5.2Fair Scheduler实现/ 258
  • 10.5.3Fair Scheduler与Capacity Scheduler对比/ 263
  • 10.6其他Hadoop调度器介绍/ 264
  • 10.7小结/ 265
  • 第11章Hadoop安全机制/ 266
  • 11.1Hadoop安全机制概述/ 266
  • 11.1.1Hadoop面临的安全问题/ 266
  • 11.1.2Hadoop对安全方面的需求/ 267
  • 11.1.3Hadoop安全设计基本原则/ 267
  • 11.2基础知识/ 268
  • 11.2.1安全认证机制/ 268
  • 11.2.2Kerberos介绍/ 270
  • 11.3Hadoop安全机制实现/ 273
  • 11.3.1RPC/ 273
  • 11.3.2HDFS/ 276
  • 11.3.3MapReduce/ 278
  • 11.3.4上层服务/ 280
  • 11.4应用场景总结/ 281
  • 11.4.1文件存取/ 281
  • 11.4.2作业提交与运行/ 282
  • 11.4.3上层中间件访问Hadoop/ 282
  • 11.5小结/ 283
  • 第12章下一代MapReduce框架/ 284
  • 12.1第一代MapReduce框架的局限性/ 284
  • 12.2下一代MapReduce框架概述/ 284
  • 12.2.1基本设计思想/ 284
  • 12.2.2资源统一管理平台/ 286
  • 12.3Apache YARN/ 287
  • 12.3.1Apache YARN基本框架/ 287
  • 12.3.2Apache YARN工作流程/ 290
  • 12.3.3Apache YARN设计细节/ 291
  • 12.3.4MapReduce与YARN结合/ 294
  • 12.4Facebook Corona / 298
  • 12.4.1Facebook Corona基本框架/ 298
  • 12.4.2Facebook Corona工作流程/ 300
  • 12.4.3YARN与Corona对比/ 303
  • 12.5Apache Mesos/ 304
  • 12.5.1Apache Mesos基本框架/ 304
  • 12.5.2Apache Mesos资源分配/ 305
  • 12.5.3MapReduce与Mesos结合/ 307
  • 12.6小结/ 309
  • 附录A安装Hadoop过程中可能存在的问题及解决方案/ 310
  • 附录BHadoop默认HTTP端口号以及HTTP地址/ 312
  • 参考资料/ 313

资源下载

资源下载地址1:https://pan.baidu.com/s/z1U8-pH6jIFVw8U7hbf8iQkA

相关资源

网友留言