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

来源:互联网 发布:微信怎么发布淘宝链接 编辑:程序博客网 时间:2024/04/30 10:18
《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》
基本信息
作者: 董西成   
丛书名: 大数据技术丛书
出版社:机械工业出版社
ISBN:9787111422266
上架时间:2013-5-8
出版日期:2013 年5月
开本:16开
页码:318
版次:1-1
所属分类:计算机 > 软件与程序设计 > 分布式系统设计

更多关于 》》》《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》
内容简介
    计算机书籍
  “hadoop技术内幕”共两册,分别从源代码的角度对“common+hdfs”和“mapreduce的架构设计和实现原理”进行了极为详细的分析。本书由hadoop领域资深的实践者亲自执笔,首先介绍了mapreduce的设计理念和编程模型,然后从源代码的角度深入分析了rpc框架、客户端、jobtracker、tasktracker和task等mapreduce运行时环境的架构设计与实现原理,最后从实际应用的角度深入讲解了hadoop的性能优化、安全机制、多用户作业调度器和下一代mapreduce框架等高级主题和内容。本书适合hadoop的二次开发人员、应用开发工程师、运维工程师阅读。
   《hadoop技术内幕:深入解析mapreduce架构设计与实现原理》共12章,分4个部分(不包括附录):第一部分(第1~2章),介绍了hadoop源代码的组织结构、获取、编译、调试、阅读环境搭建,以及mapreduce的设计理念和基本架构;第二部分(第3章),着重讲解了mapreduce的编程接口,主要包括旧api和新api两套编程接口,以及hadoop工作流;第三部分(第4~8章)主要分析了mapreduce的运行时环境,包括rpc框架、客户端、jobtracker、tasktracker和task等的内部实现细节和机制剖析;第四部分(第9~12章)深入讲解了hadoop的性能优化、多用户作业调度器、安全机制和下一代mapreduce框架等高级主题。
目录
《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.2 hadoop源代码阅读技巧/ 9 
1.4 hadoop源代码组织结构/ 10 
1.5 hadoop初体验/ 13 
1.5.1 启动hadoop/ 13 
1.5.2 hadoop shell介绍/ 15 
1.5.3 hadoop eclipse插件介绍/ 15 
1.6 编译及调试hadoop源代码/ 19 
1.6.1 编译hadoop源代码/ 19 
1.6.2 调试hadoop源代码/ 20 
.1.7 小结/ 23 
第2章 mapreduce设计理念与基本架构/ 24 
2.1 hadoop发展史/ 24 
2.1.1 hadoop产生背景/ 24 
2.1.2 apache hadoop新版本的特性/ 25 
2.1.3 hadoop版本变迁/ 26 
2.2 hadoop mapreduce设计目标/ 28 
2.3 mapreduce编程模型概述/ 29 
2.3.1 mapreduce编程模型简介/ 29 
2.3.2 mapreduce编程实例/ 31 
2.4 hadoop基本架构/ 32 
2.4.1 hdfs架构/ 33 
2.4.2 hadoop mapreduce架构/ 34 
2.5 hadoop mapreduce作业的生命周期/ 36 
2.6 小结/ 38 
第二部分 mapreduce编程模型篇 
第3章 mapreduce编程模型/ 40 
3.1 mapreduce编程模型概述/ 40 
3.1.1 mapreduce编程接口体系结构/ 40 
3.1.2 新旧mapreduce api比较/ 41 
3.2 mapreduce api基本概念/ 42 
3.2.1 序列化/ 42 
3.2.2 reporter参数/ 43 
3.2.3 回调机制/ 43 
3.3 java api解析/ 44 
3.3.1 作业配置与提交/ 44 
3.3.2 inputformat接口的设计与实现/ 48 
3.3.3 outputformat接口的设计与实现/ 53 
3.3.4 mapper与reducer解析/ 55 
3.3.5 partitioner接口的设计与实现/ 59 
3.4 非java api解析/ 61 
3.4.1 hadoop streaming的实现原理/ 61 
3.4.2 hadoop pipes的实现原理/ 64 
3.5 hadoop工作流/ 67 
3.5.1 jobcontrol的实现原理/ 67 
3.5.2 chainmapper/chainreducer的实现原理/ 69 
3.5.3 hadoop工作流引擎/ 71 
3.6 小结/ 73 
第三部分 mapreduce核心设计篇 
第4章 hadoop rpc框架解析/ 76 
4.1 hadoop rpc框架概述/ 76 
4.2 java基础知识/ 77 
4.2.1 java反射机制与动态代理/ 78 
4.2.2 java网络编程/ 80 
4.2.3 java nio/ 82 
4.3 hadoop rpc基本框架分析/ 89 
4.3.1 rpc基本概念/ 89 
4.3.2 hadoop rpc基本框架/ 91 
4.3.3 集成其他开源rpc框架/ 98 
4.4 mapreduce通信协议分析/ 100 
4.4.1 mapreduce 通信协议概述/ 100 
4.4.2 jobsubmissionprotocol通信协议/ 102 
4.4.3 intertrackerprotocol通信协议/ 102 
4.4.4 taskumbilicalprotocol通信协议/ 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.4 hadoop distributedcache原理分析/ 117 
5.4.1 使用方法介绍/ 118 
5.4.2 工作原理分析/ 120 
5.5 小结/ 122 
第6章 jobtracker内部实现剖析/ 123 
6.1 jobtracker概述/ 123 
6.2 jobtracker启动过程分析/ 125 
6.2.1 jobtracker启动过程概述/ 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.4 job和task运行时信息维护/ 134 
6.4.1 作业描述模型/ 134 
6.4.2 jobinprogress/ 136 
6.4.3 taskinprogress/ 137 
6.4.4 作业和任务状态转换图/ 139 
6.5 容错机制/ 141 
6.5.1 jobtracker容错/ 141 
6.5.2 tasktracker容错/ 142 
6.5.3 job/task容错/ 145 
6.5.4 record容错/ 147 
6.5.5 磁盘容错/ 151 
6.6 任务推测执行原理/ 152 
6.6.1 计算模型假设/ 153 
6.6.2 1.0.0版本的算法/ 153 
6.6.3 0.21.0版本的算法/ 154 
6.6.4 2.0版本的算法/ 156 
6.7 hadoop资源管理/ 157 
6.7.1 任务调度框架分析/ 159 
6.7.2 任务选择策略分析/ 162 
6.7.3 fifo调度器分析/ 164 
6.7.4 hadoop资源管理优化/ 165 
6.8 小结/ 168 
第7章 tasktracker内部实现剖析/ 169 
7.1 tasktracker概述/ 169 
7.2 tasktracker启动过程分析/ 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.4 tasktracker行为分析/ 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.1 task运行过程概述/ 196 
8.2 基本数据结构和算法/ 197 
8.2.1 ifile存储格式/ 197 
8.2.2 排序/ 198 
8.2.3 reporter/ 201 
8.3 map task内部实现/ 204 
8.3.1 map task整体流程/ 204 
8.3.2 collect过程分析/ 205 
8.3.3 spill过程分析/ 213 
8.3.4 combine过程分析/ 214 
8.4 reduce task内部实现/ 214 
8.4.1 reduce task整体流程/ 215 
8.4.2 shuffle和merge阶段分析/ 215 
8.4.3 sort和reduce阶段分析/ 218 
8.5 map/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.3 jvm参数调优/ 230 
9.2.4 hadoop参数调优/ 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.2 hod/ 242 
10.2.1 torque资源管理器/ 242 
10.2.2 hod作业调度/ 243 
10.3 hadoop队列管理机制/ 245 
10.4 capacity scheduler实现/ 246 
10.4.1 capacity scheduler功能介绍/ 247 
10.4.2 capacity scheduler实现/ 249 
10.4.3 多层队列调度/ 254 
10.5 fair scheduler实现/ 255 
10.5.1 fair scheduler功能介绍/ 255 
10.5.2 fair scheduler实现/ 258 
10.5.3 fair scheduler与capacity scheduler对比/ 263 
10.6 其他hadoop调度器介绍/ 264 
10.7 小结/ 265 
第11章 hadoop安全机制/ 266 
11.1 hadoop安全机制概述/ 266 
11.1.1 hadoop面临的安全问题/ 266 
11.1.2 hadoop对安全方面的需求/ 267 
11.1.3 hadoop安全设计基本原则/ 267 
11.2 基础知识/ 268 
11.2.1 安全认证机制/ 268 
11.2.2 kerberos介绍/ 270 
11.3 hadoop安全机制实现/ 273 
11.3.1 rpc/ 273 
11.3.2 hdfs/ 276 
11.3.3 mapreduce/ 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.3 apache yarn/ 287 
12.3.1 apache yarn基本框架/ 287 
12.3.2 apache yarn工作流程/ 290 
12.3.3 apache yarn设计细节/ 291 
12.3.4 mapreduce与yarn结合/ 294 
12.4 facebook corona / 298 
12.4.1 facebook corona基本框架/ 298 
12.4.2 facebook corona工作流程/ 300 
12.4.3 yarn与corona对比/ 303 
12.5 apache mesos/ 304 
12.5.1 apache mesos基本框架/ 304 
12.5.2 apache mesos资源分配/ 305 
12.5.3 mapreduce与mesos结合/ 307 
12.6 小结/ 309 
附录a 安装hadoop过程中可能存在的问题及解决方案/ 310 
附录b hadoop默认http端口号以及http地址/ 312 
参考资料/ 313

本图书信息来源:中国互动出版网