kindle电子书

资源下载,尽在我的书库!
首页 > kindle电子书库 > 工业|计算机|互联网 > 电子、计算机、网络

Hadoop技术内幕:深入解析MapReduce架构设计与实现原理 (大数据技术丛书)

  • 作者:[中] 董西成
  • 体积:9.98 MB
  • 语言:中文
  • 日期:2017-07-21
  • 推荐:

简介:《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》内容简介:“Hadoop技术内幕”共两册,分别从源代码的角度对“Common+HDFS”和“MapReduce的架构设计和实现原理”进行了极为详细的分析。《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》由Hadoop领域资深的实践者亲自执笔,首先介绍了MapReduce的设计理念和编程模型,然后从源代码的角度深入分析了RPC框架、客户端、JobTracker、TaskTracker和Task等MapReduce运行时环境的架构设计与实现原理,最后从实际应用的角度深入讲解了Hadoop的性能优化、安全机制、多用户作业调度器和下一代MapReduce框架等高级主题和内容。《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》适合Hadoop的二次开发人员、应用开发工程师、运维工程师阅读。

电子书详细介绍

 “Hadoop技术内幕”共两册,分别从源代码的角度对“Common+HDFS”和“MapReduce的架构设计和实现原理”进行了极为详细的分析。《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》由Hadoop领域资深的实践者亲自执笔,首先介绍了MapReduce的设计理念和编程模型,然后从源代码的角度深入分析了RPC框架、客户端、JobTracker、TaskTracker和Task等MapReduce运行时环境的架构设计与实现原理,最后从实际应用的角度深入讲解了Hadoop的性能优化、安全机制、多用户作业调度器和下一代MapReduce框架等高级主题和内容。
《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》适合Hadoop的二次开发人员、应用开发工程师、运维工程师阅读。

编辑推荐

 

《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》编辑推荐:资深Hadoop技术专家撰写,EasyHadoop和51CTO等专业技术社区联袂推荐!从源代码角度深入分析MapReduce的设计理念,以及RPC框架、客户端、JobTracker、TaskTracker和Task等运行时环境的架构设计与实现原理。深入探讨Hadoop性能优化、多用户作业调度器、安全机制、下一代MapReduce框架等高级主题。

作者简介

董西成,资深Hadoop技术实践者和研究者,对Hadoop技术有非常深刻的认识和理解,有着丰富的实践经验。曾经参与了商用Hadoop原型的研发,以及人民搜索的分布式日志系统、全网图片搜索引擎、Hadoop调度器等多个项目的设计与研发,实践经验非常丰富。对Hadoop的源代码有深入的研究,能通过修改Hadoop的源代码来完成二次开发和解决各种复杂的问题。热衷于分享,撰写了大量关于Hadoop的技术文章并分享在自己的博客上,由于文章技术含量高,所以非常受欢迎,这使得他在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.2Hadoop源代码阅读技巧9 
1.4Hadoop源代码组织结构10 
1.5Hadoop初体验13 
1.5.1启动Hadoop13 
1.5.2HadoopShell介绍15 
1.5.3HadoopEclipse插件介绍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.2ApacheHadoop新版本的特性25 
2.1.3Hadoop版本变迁26 
2.2HadoopMapReduce设计目标28 
2.3MapReduce编程模型概述29 
2.3.1MapReduce编程模型简介29 
2.3.2MapReduce编程实例31 
2.4Hadoop基本架构32 
2.4.1HDFS架构33 
2.4.2HadoopMapReduce架构34 
2.5HadoopMapReduce作业的生命周期36 
2.6小结38 
第二部分MapReduce编程模型篇 
第3章MapReduce编程模型40 
3.1MapReduce编程模型概述40 
3.1.1MapReduce编程接口体系结构40 
3.1.2新旧MapReduceAPI比较41 
3.2MapReduceAPI基本概念42 
3.2.1序列化42 
3.2.2Reporter参数43 
3.2.3回调机制43 
3.3JavaAPI解析44 
3.3.1作业配置与提交44 
3.3.2InputFormat接口的设计与实现48 
3.3.3OutputFormat接口的设计与实现53 
3.3.4Mapper与Reducer解析55 
3.3.5Partitioner接口的设计与实现59 
3.4非JavaAPI解析61 
3.4.1HadoopStreaming的实现原理61 
3.4.2HadoopPipes的实现原理64 
3.5Hadoop工作流67 
3.5.1JobControl的实现原理67 
3.5.2ChainMapper/ChainReducer的实现原理69 
3.5.3Hadoop工作流引擎71 
3.6小结73 
第三部分MapReduce核心设计篇 
第4章HadoopRPC框架解析76 
4.1HadoopRPC框架概述76 
4.2Java基础知识77 
4.2.1Java反射机制与动态代理78 
4.2.2Java网络编程80 
4.2.3JavaNIO82 
4.3HadoopRPC基本框架分析89 
4.3.1RPC基本概念89 
4.3.2HadoopRPC基本框架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作业提交到JobTracker113 
5.3作业初始化过程详解115 
5.4HadoopDistributedCache原理分析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.2JobInProgress136 
6.4.3TaskInProgress137 
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连接JobTracker172 
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.3Reporter201 
8.3MapTask内部实现204 
8.3.1MapTask整体流程204 
8.3.2Collect过程分析205 
8.3.3Spill过程分析213 
8.3.4Combine过程分析214 
8.4ReduceTask内部实现214 
8.4.1ReduceTask整体流程215 
8.4.2Shuffle和Merge阶段分析215 
8.4.3Sort和Reduce阶段分析218 
8.5Map/ReduceTask优化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.2HOD242 
10.2.1Torque资源管理器242 
10.2.2HOD作业调度243 
10.3Hadoop队列管理机制245 
10.4CapacityScheduler实现246 
10.4.1CapacityScheduler功能介绍247 
10.4.2CapacityScheduler实现249 
10.4.3多层队列调度254 
10.5FairScheduler实现255 
10.5.1FairScheduler功能介绍255 
10.5.2FairScheduler实现258 
10.5.3FairScheduler与CapacityScheduler对比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.1RPC273 
11.3.2HDFS276 
11.3.3MapReduce278 
11.3.4上层服务280 
11.4应用场景总结281 
11.4.1文件存取281 
11.4.2作业提交与运行282 
11.4.3上层中间件访问Hadoop282 
11.5小结283 
第12章下一代MapReduce框架284 
12.1第一代MapReduce框架的局限性284 
12.2下一代MapReduce框架概述284 
12.2.1基本设计思想284 
12.2.2资源统一管理平台286 
12.3ApacheYARN287 
12.3.1ApacheYARN基本框架287 
12.3.2ApacheYARN工作流程290 
12.3.3ApacheYARN设计细节291 
12.3.4MapReduce与YARN结合294 
12.4FacebookCorona298 
12.4.1FacebookCorona基本框架298 
12.4.2FacebookCorona工作流程300 
12.4.3YARN与Corona对比303 
12.5ApacheMesos304 
12.5.1ApacheMesos基本框架304 
12.5.2ApacheMesos资源分配305 
12.5.3MapReduce与Mesos结合307 
12.6小结309 
附录A安装Hadoop过程中可能存在的问题及解决方案310 
附录BHadoop默认HTTP端口号以及HTTP地址312 
参考资料313

我来说两句

本书评论

共有 0 条评论
图书分类
我的书库手机端
帮助中心
会员登录 ×
新用户注册 ×