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

Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2013-05
版次: 1
ISBN: 9787111422266
定价: 69.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 332页
正文语种: 简体中文
312人买过
  •   “Hadoop技术内幕”共两册,分别从源代码的角度对“Common+HDFS”和“MapReduce的架构设计和实现原理”进行了极为详细的分析。《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》由Hadoop领域资深的实践者亲自执笔,首先介绍了MapReduce的设计理念和编程模型,然后从源代码的角度深入分析了RPC框架、客户端、JobTracker、TaskTracker和Task等MapReduce运行时环境的架构设计与实现原理,最后从实际应用的角度深入讲解了Hadoop的性能优化、安全机制、多用户作业调度器和下一代MapReduce框架等高级主题和内容。本书适合Hadoop的二次开发人员、应用开发工程师、运维工程师阅读。   董西成,资深Hadoop技术实践者和研究者,对Hadoop技术有非常深刻的认识和理解,有着丰富的实践经验。曾经参与了商用Hadoop原型的研发,以及人民搜索的分布式日志系统、全网图片搜索引擎、Hadoop调度器等多个项目的设计与研发,实践经验非常丰富。对Hadoop的源代码有深入的研究,能通过修改Hadoop的源代码来完成二次开发和解决各种复杂的问题。热衷于分享,撰写了大量关于Hadoop的技术文章并分享在自己的博客上,由于文章技术含量高,所以非常受欢迎,这使得他在Hadoop技术圈内颇具知名度和影响力。 前言
    第一部分 基础篇
    第1章 阅读源代码前的准备
    1.1 准备源代码学习环境
    1.1.1 基础软件下载
    1.1.2 如何准备Windows环境
    1.1.3 如何准备Linux环境
    1.2 获取Hadoop源代码
    1.3 搭建Hadoop源代码阅读环境
    1.3.1 创建Hadoop工程
    1.3.2 Hadoop源代码阅读技巧
    1.4 Hadoop源代码组织结构
    1.5 Hadoop初体验
    1.5.1 启动Hadoop
    1.5.2 Hadoop Shell介绍
    1.5.3 Hadoop Eclipse插件介绍
    1.6 编译及调试Hadoop源代码
    1.6.1 编译Hadoop源代码
    1.6.2 调试Hadoop源代码
    1.7 小结
    第2章 MapReduce设计理念与基本架构
    2.1 Hadoop发展史
    2.1.1 Hadoop产生背景
    2.1.2 Apache Hadoop新版本的特性
    2.1.3 Hadoop版本变迁
    2.2 Hadoop MapReduce设计目标
    2.3 MapReduce编程模型概述
    2.3.1 MapReduce编程模型简介
    2.3.2 MapReduce编程实例
    2.4 Hadoop基本架构
    2.4.1 HDFS架构
    2.4.2 Hadoop MapReduce架构
    2.5 Hadoop MapReduce作业的生命周期
    2.6 小结
    第二部分 MapReduce编程模型篇
    第3章 MapReduce编程模型
    3.1 MapReduce编程模型概述
    3.1.1 MapReduce编程接口体系结构
    3.1.2 新旧MapReduce API比较
    3.2 MapReduce API基本概念
    3.2.1 序列化
    3.2.2 Reporter参数
    3.2.3 回调机制
    3.3 Java API解析
    3.3.1 作业配置与提交
    3.3.2 InputFormat接口的设计与实现
    3.3.3 OutputFormat接口的设计与实现
    3.3.4 Mapper与Reducer解析
    3.3.5 Partitioner接口的设计与实现
    3.4 非Java API解析
    3.4.1 Hadoop Streaming的实现原理
    3.4.2 Hadoop Pipes的实现原理
    3.5 Hadoop工作流
    3.5.1 JobControl的实现原理
    3.5.2 ChainMapperChainReducer的实现原理
    3.5.3 Hadoop工作流引擎
    3.6 小结
    第三部分 MapReduce核心设计篇
    第4章 Hadoop RPC框架解析
    4.1 Hadoop RPC框架概述
    4.2 Java基础知识
    4.2.1 Java反射机制与动态代理
    4.2.2 Java网络编程
    4.2.3 Java NIO
    4.3 Hadoop RPC基本框架分析
    4.3.1 RPC基本概念
    4.3.2 Hadoop RPC基本框架
    4.3.3 集成其他开源RPC框架
    4.4 MapReduce通信协议分析
    4.4.1 MapReduce 通信协议概述
    4.4.2 JobSubmissionProtocol通信协议
    4.4.3 InterTrackerProtocol通信协议
    4.4.4 TaskUmbilicalProtocol通信协议
    4.4.5 其他通信协议
    4.5 小结
    第5章 作业提交与初始化过程分析
    5.1 作业提交与初始化概述
    5.2 作业提交过程详解
    5.2.1 执行Shell命令
    5.2.2 作业文件上传
    5.2.3 产生InputSplit文件
    5.2.4 作业提交到JobTracker
    5.3 作业初始化过程详解
    5.4 Hadoop DistributedCache原理分析
    5.4.1 使用方法介绍
    5.4.2 工作原理分析
    5.5 小结
    第6章 JobTracker内部实现剖析
    6.1 JobTracker概述
    6.2 JobTracker启动过程分析
    6.2.1 JobTracker启动过程概述
    6.2.2 重要对象初始化
    6.2.3 各种线程功能
    6.2.4 作业恢复
    6.3 心跳接收与应答
    6.3.1 更新状态
    6.3.2 下达命令
    6.4 Job和Task运行时信息维护
    6.4.1 作业描述模型
    6.4.2 JobInProgress
    6.4.3 TaskInProgress
    6.4.4 作业和任务状态转换图
    6.5 容错机制
    6.5.1 JobTracker容错
    6.5.2 TaskTracker容错
    6.5.3 JobTask容错
    6.5.4 Record容错
    6.5.5 磁盘容错
    6.6 任务推测执行原理
    6.6.1 计算模型假设
    6.6.2 1.0.0版本的算法
    6.6.3 0.21.0版本的算法
    6.6.4 2.0版本的算法
    6.7 Hadoop资源管理
    6.7.1 任务调度框架分析
    6.7.2 任务选择策略分析
    6.7.3 FIFO调度器分析
    6.7.4 Hadoop资源管理优化
    6.8 小结
    第7章 TaskTracker内部实现剖析
    7.1 TaskTracker概述
    7.2 TaskTracker启动过程分析
    7.2.1 重要变量初始化
    7.2.2 重要对象初始化
    7.2.3 连接JobTracker
    7.3 心跳机制
    7.3.1 单次心跳发送
    7.3.2 状态发送
    7.3.3 命令执行
    7.4 TaskTracker行为分析
    7.4.1 启动新任务
    7.4.2 提交任务
    7.4.3 杀死任务
    7.4.4 杀死作业
    7.4.5 重新初始化
    7.5 作业目录管理
    7.6 启动新任务
    7.6.1 任务启动过程分析
    7.6.2 资源隔离机制
    7.7 小结
    第8章 Task运行过程分析
    8.1 Task运行过程概述
    8.2 基本数据结构和算法
    8.2.1 IFile存储格式
    8.2.2 排序
    8.2.3 Reporter
    8.3 Map Task内部实现
    8.3.1 Map Task整体流程
    8.3.2 Collect过程分析
    8.3.3 Spill过程分析
    8.3.4 Combine过程分析
    8.4 Reduce Task内部实现
    8.4.1 Reduce Task整体流程
    8.4.2 Shuffle和Merge阶段分析
    8.4.3 Sort和Reduce阶段分析
    8.5 MapReduce Task优化
    8.5.1 参数调优
    8.5.2 系统优化
    8.6 小结
    第四部分 MapReduce高级篇
    第9章 Hadoop性能调优
    9.1 概述
    9.2 从管理员角度进行调优
    9.2.1 硬件选择
    9.2.2 操作系统参数调优
    9.2.3 JVM参数调优
    9.2.4 Hadoop参数调优
    9.3 从用户角度进行调优
    9.3.1 应用程序编写规范
    9.3.2 作业级别参数调优
    9.3.3 任务级别参数调优
    9.4 小结
    第10章 Hadoop多用户作业调度器
    10.1 多用户调度器产生背景
    10.2 HOD
    10.2.1 Torque资源管理器
    10.2.2 HOD作业调度
    10.3 Hadoop队列管理机制
    10.4 Capacity Scheduler实现
    10.4.1 Capacity Scheduler功能介绍
    10.4.2 Capacity Scheduler实现
    10.4.3 多层队列调度
    10.5 Fair Scheduler实现
    10.5.1 Fair Scheduler功能介绍
    10.5.2 Fair Scheduler实现
    10.5.3 Fair Scheduler与Capacity Scheduler对比
    10.6 其他Hadoop调度器介绍
    10.7 小结
    第11章 Hadoop安全机制
    11.1 Hadoop安全机制概述
    11.1.1 Hadoop面临的安全问题
    11.1.2 Hadoop对安全方面的需求
    11.1.3 Hadoop安全设计基本原则
    11.2 基础知识
    11.2.1 安全认证机制
    11.2.2 Kerberos介绍
    11.3 Hadoop安全机制实现
    11.3.1 RPC
    11.3.2 HDFS
    11.3.3 MapReduce
    11.3.4 上层服务
    11.4 应用场景总结
    11.4.1 文件存取
    11.4.2 作业提交与运行
    11.4.3 上层中间件访问Hadoop
    11.5 小结
    第12章 下一代MapReduce框架
    12.1 第一代MapReduce框架的局限性
    12.2 下一代MapReduce框架概述
    12.2.1 基本设计思想
    12.2.2 资源统一管理平台
    12.3 Apache YARN
    12.3.1 Apache YARN基本框架
    12.3.2 Apache YARN工作流程
    12.3.3 Apache YARN设计细节
    12.3.4 MapReduce与YARN结合
    12.4 Facebook Corona
    12.4.1 Facebook Corona基本框架
    12.4.2 Facebook Corona工作流程
    12.4.3 YARN与Corona对比
    12.5 Apache Mesos
    12.5.1 Apache Mesos基本框架
    12.5.2 Apache Mesos资源分配
    12.5.3 MapReduce与Mesos结合
    12.6 小结
    附录A 安装Hadoop过程中可能存在的问题及解决方案
    附录B Hadoop默认HTTP端口号以及HTTP地址
    参考资料
  • 内容简介:
      “Hadoop技术内幕”共两册,分别从源代码的角度对“Common+HDFS”和“MapReduce的架构设计和实现原理”进行了极为详细的分析。《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》由Hadoop领域资深的实践者亲自执笔,首先介绍了MapReduce的设计理念和编程模型,然后从源代码的角度深入分析了RPC框架、客户端、JobTracker、TaskTracker和Task等MapReduce运行时环境的架构设计与实现原理,最后从实际应用的角度深入讲解了Hadoop的性能优化、安全机制、多用户作业调度器和下一代MapReduce框架等高级主题和内容。本书适合Hadoop的二次开发人员、应用开发工程师、运维工程师阅读。
  • 作者简介:
      董西成,资深Hadoop技术实践者和研究者,对Hadoop技术有非常深刻的认识和理解,有着丰富的实践经验。曾经参与了商用Hadoop原型的研发,以及人民搜索的分布式日志系统、全网图片搜索引擎、Hadoop调度器等多个项目的设计与研发,实践经验非常丰富。对Hadoop的源代码有深入的研究,能通过修改Hadoop的源代码来完成二次开发和解决各种复杂的问题。热衷于分享,撰写了大量关于Hadoop的技术文章并分享在自己的博客上,由于文章技术含量高,所以非常受欢迎,这使得他在Hadoop技术圈内颇具知名度和影响力。
  • 目录:
    前言
    第一部分 基础篇
    第1章 阅读源代码前的准备
    1.1 准备源代码学习环境
    1.1.1 基础软件下载
    1.1.2 如何准备Windows环境
    1.1.3 如何准备Linux环境
    1.2 获取Hadoop源代码
    1.3 搭建Hadoop源代码阅读环境
    1.3.1 创建Hadoop工程
    1.3.2 Hadoop源代码阅读技巧
    1.4 Hadoop源代码组织结构
    1.5 Hadoop初体验
    1.5.1 启动Hadoop
    1.5.2 Hadoop Shell介绍
    1.5.3 Hadoop Eclipse插件介绍
    1.6 编译及调试Hadoop源代码
    1.6.1 编译Hadoop源代码
    1.6.2 调试Hadoop源代码
    1.7 小结
    第2章 MapReduce设计理念与基本架构
    2.1 Hadoop发展史
    2.1.1 Hadoop产生背景
    2.1.2 Apache Hadoop新版本的特性
    2.1.3 Hadoop版本变迁
    2.2 Hadoop MapReduce设计目标
    2.3 MapReduce编程模型概述
    2.3.1 MapReduce编程模型简介
    2.3.2 MapReduce编程实例
    2.4 Hadoop基本架构
    2.4.1 HDFS架构
    2.4.2 Hadoop MapReduce架构
    2.5 Hadoop MapReduce作业的生命周期
    2.6 小结
    第二部分 MapReduce编程模型篇
    第3章 MapReduce编程模型
    3.1 MapReduce编程模型概述
    3.1.1 MapReduce编程接口体系结构
    3.1.2 新旧MapReduce API比较
    3.2 MapReduce API基本概念
    3.2.1 序列化
    3.2.2 Reporter参数
    3.2.3 回调机制
    3.3 Java API解析
    3.3.1 作业配置与提交
    3.3.2 InputFormat接口的设计与实现
    3.3.3 OutputFormat接口的设计与实现
    3.3.4 Mapper与Reducer解析
    3.3.5 Partitioner接口的设计与实现
    3.4 非Java API解析
    3.4.1 Hadoop Streaming的实现原理
    3.4.2 Hadoop Pipes的实现原理
    3.5 Hadoop工作流
    3.5.1 JobControl的实现原理
    3.5.2 ChainMapperChainReducer的实现原理
    3.5.3 Hadoop工作流引擎
    3.6 小结
    第三部分 MapReduce核心设计篇
    第4章 Hadoop RPC框架解析
    4.1 Hadoop RPC框架概述
    4.2 Java基础知识
    4.2.1 Java反射机制与动态代理
    4.2.2 Java网络编程
    4.2.3 Java NIO
    4.3 Hadoop RPC基本框架分析
    4.3.1 RPC基本概念
    4.3.2 Hadoop RPC基本框架
    4.3.3 集成其他开源RPC框架
    4.4 MapReduce通信协议分析
    4.4.1 MapReduce 通信协议概述
    4.4.2 JobSubmissionProtocol通信协议
    4.4.3 InterTrackerProtocol通信协议
    4.4.4 TaskUmbilicalProtocol通信协议
    4.4.5 其他通信协议
    4.5 小结
    第5章 作业提交与初始化过程分析
    5.1 作业提交与初始化概述
    5.2 作业提交过程详解
    5.2.1 执行Shell命令
    5.2.2 作业文件上传
    5.2.3 产生InputSplit文件
    5.2.4 作业提交到JobTracker
    5.3 作业初始化过程详解
    5.4 Hadoop DistributedCache原理分析
    5.4.1 使用方法介绍
    5.4.2 工作原理分析
    5.5 小结
    第6章 JobTracker内部实现剖析
    6.1 JobTracker概述
    6.2 JobTracker启动过程分析
    6.2.1 JobTracker启动过程概述
    6.2.2 重要对象初始化
    6.2.3 各种线程功能
    6.2.4 作业恢复
    6.3 心跳接收与应答
    6.3.1 更新状态
    6.3.2 下达命令
    6.4 Job和Task运行时信息维护
    6.4.1 作业描述模型
    6.4.2 JobInProgress
    6.4.3 TaskInProgress
    6.4.4 作业和任务状态转换图
    6.5 容错机制
    6.5.1 JobTracker容错
    6.5.2 TaskTracker容错
    6.5.3 JobTask容错
    6.5.4 Record容错
    6.5.5 磁盘容错
    6.6 任务推测执行原理
    6.6.1 计算模型假设
    6.6.2 1.0.0版本的算法
    6.6.3 0.21.0版本的算法
    6.6.4 2.0版本的算法
    6.7 Hadoop资源管理
    6.7.1 任务调度框架分析
    6.7.2 任务选择策略分析
    6.7.3 FIFO调度器分析
    6.7.4 Hadoop资源管理优化
    6.8 小结
    第7章 TaskTracker内部实现剖析
    7.1 TaskTracker概述
    7.2 TaskTracker启动过程分析
    7.2.1 重要变量初始化
    7.2.2 重要对象初始化
    7.2.3 连接JobTracker
    7.3 心跳机制
    7.3.1 单次心跳发送
    7.3.2 状态发送
    7.3.3 命令执行
    7.4 TaskTracker行为分析
    7.4.1 启动新任务
    7.4.2 提交任务
    7.4.3 杀死任务
    7.4.4 杀死作业
    7.4.5 重新初始化
    7.5 作业目录管理
    7.6 启动新任务
    7.6.1 任务启动过程分析
    7.6.2 资源隔离机制
    7.7 小结
    第8章 Task运行过程分析
    8.1 Task运行过程概述
    8.2 基本数据结构和算法
    8.2.1 IFile存储格式
    8.2.2 排序
    8.2.3 Reporter
    8.3 Map Task内部实现
    8.3.1 Map Task整体流程
    8.3.2 Collect过程分析
    8.3.3 Spill过程分析
    8.3.4 Combine过程分析
    8.4 Reduce Task内部实现
    8.4.1 Reduce Task整体流程
    8.4.2 Shuffle和Merge阶段分析
    8.4.3 Sort和Reduce阶段分析
    8.5 MapReduce Task优化
    8.5.1 参数调优
    8.5.2 系统优化
    8.6 小结
    第四部分 MapReduce高级篇
    第9章 Hadoop性能调优
    9.1 概述
    9.2 从管理员角度进行调优
    9.2.1 硬件选择
    9.2.2 操作系统参数调优
    9.2.3 JVM参数调优
    9.2.4 Hadoop参数调优
    9.3 从用户角度进行调优
    9.3.1 应用程序编写规范
    9.3.2 作业级别参数调优
    9.3.3 任务级别参数调优
    9.4 小结
    第10章 Hadoop多用户作业调度器
    10.1 多用户调度器产生背景
    10.2 HOD
    10.2.1 Torque资源管理器
    10.2.2 HOD作业调度
    10.3 Hadoop队列管理机制
    10.4 Capacity Scheduler实现
    10.4.1 Capacity Scheduler功能介绍
    10.4.2 Capacity Scheduler实现
    10.4.3 多层队列调度
    10.5 Fair Scheduler实现
    10.5.1 Fair Scheduler功能介绍
    10.5.2 Fair Scheduler实现
    10.5.3 Fair Scheduler与Capacity Scheduler对比
    10.6 其他Hadoop调度器介绍
    10.7 小结
    第11章 Hadoop安全机制
    11.1 Hadoop安全机制概述
    11.1.1 Hadoop面临的安全问题
    11.1.2 Hadoop对安全方面的需求
    11.1.3 Hadoop安全设计基本原则
    11.2 基础知识
    11.2.1 安全认证机制
    11.2.2 Kerberos介绍
    11.3 Hadoop安全机制实现
    11.3.1 RPC
    11.3.2 HDFS
    11.3.3 MapReduce
    11.3.4 上层服务
    11.4 应用场景总结
    11.4.1 文件存取
    11.4.2 作业提交与运行
    11.4.3 上层中间件访问Hadoop
    11.5 小结
    第12章 下一代MapReduce框架
    12.1 第一代MapReduce框架的局限性
    12.2 下一代MapReduce框架概述
    12.2.1 基本设计思想
    12.2.2 资源统一管理平台
    12.3 Apache YARN
    12.3.1 Apache YARN基本框架
    12.3.2 Apache YARN工作流程
    12.3.3 Apache YARN设计细节
    12.3.4 MapReduce与YARN结合
    12.4 Facebook Corona
    12.4.1 Facebook Corona基本框架
    12.4.2 Facebook Corona工作流程
    12.4.3 YARN与Corona对比
    12.5 Apache Mesos
    12.5.1 Apache Mesos基本框架
    12.5.2 Apache Mesos资源分配
    12.5.3 MapReduce与Mesos结合
    12.6 小结
    附录A 安装Hadoop过程中可能存在的问题及解决方案
    附录B Hadoop默认HTTP端口号以及HTTP地址
    参考资料
查看详情
系列丛书 / 更多
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
大规模分布式存储系统:原理解析与架构实战
杨传辉 著
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
R语言数据分析与挖掘实战
张良均、云伟标、王路、刘晓勇 著
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
R语言与数据挖掘
张良均、谢佳标、杨坦、肖刚 著
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
Python与数据挖掘
张良均、杨海宏、何子健、杨征 著
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
大数据技术丛书:MATLAB数据分析与挖掘实战
张良均、杨坦、肖刚、徐圣兵 著
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
大数据挖掘:系统方法与实例分析
周英、卓金武、卞月青 著
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
Spark大数据分析实战
高彦杰、倪亚宇 著
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
Hadoop大数据分析与挖掘实战
张良均、樊哲、赵云龙、李成华 著
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
Spark大数据处理:技术、应用与性能优化
高彦杰 著
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
数据挖掘:实用案例分析
张良均、陈俊德、刘名军 著
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理
蔡斌、陈湘萍 著
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
Hadoop技术内幕:深入解析YARN架构设计与实现原理
董西成 著
相关图书 / 更多
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
Hadoop技术与应用()
徐鲁辉
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
Hadoop生态案例详解与项目实战
王盟 王新强
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
HarmonyOS移动应用开发(ArkTS版)
刘安战;余雨萍;陈争艳
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
Hadoop大数据分布式计算框架--原理与应用
杨成伟;祝翠玲;刘位龙
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
Hadoop大数据平台搭建与应用(工作手册式)(微课版)
时东晓
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
Hadoop大数据平台构建与应用(第2版)
米洪 陈永
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
Hadoop大数据技术与项目实战
王小洁
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
HarmonyOS应用程序开发与实战(Java版)
姚信威
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
Hadoop简明教程
刘科峰
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
Harper儿童皮肤病学(上下卷),第4版(翻译版)
马琳;王华;姚志荣;徐子刚
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
Hadoop大数据技术原理与应用(第2版)
黑马程序员
Hadoop技术内幕:深入解析MapReduce架构设计与实现原理
Hadoop生态系统及开发
深圳市讯方技术股份有限公司