本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
书名: | Hadoop技术内幕:深入解析MapReduce架构设计与实现原理[按需印刷]|3767333 |
图书定价: | 69元 |
图书作者: | 董西成 |
出版社: | 机械工业出版社 |
出版日期: | 2013/5/1 0:00:00 |
ISBN号: | 9787111422266 |
开本: | 16开 |
页数: | 318 |
版次: | 1-1 |
作者简介 |
董西成,资深Hadoop技术实践者和研究者,对Hadoop技术有非常深刻的认识和理解,有着丰富的实践经验。曾经参与了商用Hadoop原型的研发,以及人民搜索的分布式日志系统、全网图片搜索引擎、Hadoop调度器等多个项目的设计与研发,实践经验非常丰富。对Hadoop的源代码有深入的研究,能通过修改Hadoop的源代码来完成二次开发和解决各种复杂的问题。热衷于分享,撰写了大量关于Hadoop的技术文章并分享在自己的博客上,由于文章技术含量高,所以非常受欢迎,这使得他在Hadoop技术圈内颇具知名度和影响力。 |
内容简介 |
“Hadoop技术内幕”共两册,分别从源代码的角度对“Common HDFS”和“MapReduce的架构设计和实现原理”进行了极为详细的分析。《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》由Hadoop领域资深的实践者亲自执笔,首先介绍了MapReduce的设计理念和编程模型,然后从源代码的角度深入分析了RPC框架、客户端、JobTracker、TaskTracker和Task等MapReduce运行时环境的架构设计与实现原理,最后从实际应用的角度深入讲解了Hadoop的性能优化、安全机制、多用户作业调度器和下一代MapReduce框架等高级主题和内容。本书适合Hadoop的二次开发人员、应用开发工程师、运维工程师阅读。 |
目录 |
前 言 第一部分 基础篇 第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 操... |
编辑推荐 |
·资深Hadoop技术专家撰写,EasyHadoop和51CTO等专业技术社区联袂推荐! |