作品简介

本书由腾讯数据平台的资深Hadoop专家、X-RIME的作者亲自执笔,对Common和HDFS的源代码进行了分析,旨在为Hadoop的优化、定制和扩展提供原理性的指导。除此之外,本书还从源代码实现中对分布式技术的精髓、分布式系统设计的优秀思想和方法,以及Java语言的编码技巧、编程规范和对设计模式的精妙运用进行了总结和分析,对提高读者的分布式技术能力和Java编程能力都非常有帮助。本书适合Hadoop的二次开发人员、应用开发工程师、运维工程师阅读。

全书共9章,分为三部分:第一部分(第1章)主要介绍了Hadoop源代码的获取和源代码阅读环境的搭建;第二部分(第2~5章)对Hadoop公共工具Common的架构设计和实现原理进行了深入分析,包含Hadoop的配置信息处理、面向海量数据处理的序列化和压缩机制、Hadoop的远程过程调用,以及满足Hadoop上各类应用访问数据的Hadoop抽象文件系统和部分具体文件系统等内容;第三部分(第6~9章)对Hadoop的分布式文件系统HDFS的架构设计和实现原理进行了详细的分析,这部分内容采用了总分总的结构,第6章对HDFS的各个实体和实体间接口进行了分析;第7章和第8章分别详细地研究了数据节点和名字节点的实现原理,并通过第9章对客户端的解析,回顾了HDFS各节点间的配合,完整地介绍了一个大规模数据存储系统的实现。

蔡斌:资深Hadoop技术专家,基于Hadoop的开源项目X-RIME的作者之一。国内Hadoop应用和源代码研究领域的先驱之一,有10余年开发经验,先后任职于朗讯科技、IBM中国研究院等国内外知名企业,目前担任腾讯数据平台部的高级工程师,从事Hadoop相关技术的研究、应用和实施,实战经验非常丰富。对分布式计算、电信增值业务、网络管理等领域有深刻的认识和理解,拥有近10项发明专利,其中两项为美国专利,大部分与海量数据处理相关。近期关注海量数据的流式处理、Hadoop上的大数据应用与挖掘等。

陈湘萍:北京大学计算机系博士,目前就职于中山大学,专注于Hadoop、云计算、软件中间件、模型驱动的软件工程等技术的研究和实践。拥有发明专利5项,参与1项国家电子行业标准的制定,发表学术论文10余篇。

作品目录

  • 前言
  • 为什么写本书
  • 读者对象
  • 本书的主要内容
  • 勘误和支持
  • 致谢
  • 第一部分 环境准备
  • 第1章 源代码环境准备
  • 1.1 什么是Hadoop
  • 1.2 准备源代码阅读环境
  • 1.3 准备Hadoop源代码
  • 1.4 小结
  • 第二部分 Common的实现
  • 第2章 Hadoop配置信息处理
  • 2.1 配置文件简介
  • 2.2 Hadoop Configuration详解
  • 2.3 Configurable接口
  • 2.4 小结
  • 第3章 序列化与压缩
  • 3.1 序列化
  • 3.2 压缩
  • 3.3 小结
  • 第4章 Hadoop远程过程调用
  • 4.1 远程过程调用基础知识
  • 4.2 Java动态代理
  • 4.3 Java NIO
  • 4.4 Hadoop中的远程过程调用
  • 4.5 Hadoop IPC连接相关过程
  • 4.6 Hadoop IPC方法调用相关过程
  • 4.7 Hadoop IPC上的其他辅助过程
  • 4.8 小结
  • 第5章 Hadoop文件系统
  • 5.1 文件系统
  • 5.2 Linux文件系统
  • 5.3 分布式文件系统
  • 5.4 Java文件系统
  • 5.5 Hadoop抽象文件系统
  • 5.6 Hadoop具体文件系统
  • 5.7 小结
  • 第三部分 Hadoop分布式文件系统
  • 第6章 HDFS概述
  • 6.1 初识HDFS
  • 6.2 基于远程过程调用的接口
  • 6.3 非远程过程调用接口
  • 6.4 HDFS主要流程
  • 6.5 小结
  • 第7章 数据节点实现
  • 7.1 数据块存储
  • 7.2 流式接口的实现
  • 7.3 作为整体的数据节点
  • 7.4 小结
  • 第8章 名字节点实现
  • 8.1 文件系统的目录树
  • 8.2 数据块和数据节点管理
  • 8.3 远程接口ClientProtocol的实现
  • 8.4 名字节点的启动和停止
  • 8.5 小结
  • 第9章 HDFS客户端
  • 9.1 认识DFSClient
  • 9.2 输入流
  • 9.3 输出流
  • 9.4 DistributedFileSystem的实现
  • 9.5 HDFS常用工具
  • 9.6 小结
展开全部