Hadoop技术内幕

Hadoop技术内幕

作者:蔡斌陈湘萍

出版社:机械工业

出版年:2013年4月

ISBN:9787111417668

所属分类:网络科技

书刊介绍

《Hadoop技术内幕》内容简介

本书由腾讯数据平台的资深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、小结

热门书摘

的Jim Gray基准排序,只用了209秒,而到了2009年4月,在一个1400节点的集群上对500GB数据进行排序,只用了59秒,这显示了Hadoop强大的计算能力。2008年开始,Hadoop迈向主流,开始

狭义的Hadoop核心只包括Hadoop Common、Hadoop HDFS和Hadoop MapReduce三个子项目

类似于其他序列化机制,Avro可以将数据结构或者对象转换成便于存储和传输的格式,其设计目标是用于支持数据密集型应用,适合大规模数据的存储与交换。

ZooKeeper作为一个分布式的服务框架,解决了分布式计算中的一致性问题。

布尔变量quietmode,用来设置加载配置的模式。如果quietmode为true(默认值),则在加载解析配置文件的过程中,不输出日志信息。quietmode只是一个方便开发人员调试的变量。

通过XInclude机制,把配置文件conf4performance.xml嵌入到当前配置文件,这种方法更有利于对配置文件进行模块化管理,同时就不需要再使用Configuration.addResource()方法加载资源conf4performance.xml了

Java序列化机制中,反序列化过程会不断地创建新的对象,但在Hadoop的序列化机制的反序列化过程中,用户可以复用对象

bzip2格式压缩文件中,块与块间提供了一个48位的同步标记,因此,bzip2支持数据分割。

java. lang.reflect.Proxy中的另一个关键字是reflect(反射),反射提供了一个非常丰富而精心设计的工具集,以便编写能够动态操纵Java代码的程序。

加载文件系统操作,就是将某个文件系统“嫁接”到另一个文件系统的目录层次中

相关推荐

微信二维码