新書推薦:
《
帕纳索传来的消息(文艺复兴译丛)
》
售價:NT$
495.0
《
DK威士忌大百科
》
售價:NT$
1340.0
《
小白学编织
》
售價:NT$
299.0
《
Android游戏开发从入门到精通 第2版 王玉芹
》
售價:NT$
495.0
《
西班牙内战:秩序崩溃与激荡的世界格局:1936-1939
》
售價:NT$
990.0
《
非对称创新:中国企业赶超战略 魏江 刘洋
》
售價:NT$
495.0
《
潜能觉醒
》
售價:NT$
395.0
《
初平:汉末群雄混战(190—195)
》
售價:NT$
245.0
|
編輯推薦: |
★重点推荐!深入云计算系列丛书:《深入云计算:Hadoop应用开发实战详解》《深入云计算:MongoDB管理与开发实战详解》《深入云计算:Hadoop源代码分析》
★国内首本Hadoop源码分析图书
笔者悉心整理多年Hadoop架构分析与源码学习笔记,凝练丰富的实践开发经验,辛勤劳动成果倾囊相送,以飨读者。
★实用开发经验质的提升
深入解析Hadoop各部分的源代码,带领读者透彻理解Hadoop的结构和工作机理,深入了解Hadoop的底层工作机制。
★书中源代码下载地址:
http:www.tdpress.comzyzxtsscflwj
|
內容簡介: |
本书是一本全面细致介绍和分析Hadoop源码和内部工作机理的技术书籍,通过对Hadoop内部源码详细透彻的解析,使读者能够快速高效地掌握Hadoop的内部工作机制,了解Hadoop内部源码架构,对Hadoop有更加深刻的认识。此外本书是目前国内第一本详细介绍Hadoop源码的书籍。
本书主要对Hadoop最核心的部分:HDFS和MapReduce进行源码解析和说明。适合所有想全面学习Hadoop开发技术的人员阅读,也适用于使用Hadoop进行开发的工程技术人员,还可作为想深入了解Hadoop运行机制、源代码的开发人员的参考书籍。
|
關於作者: |
张鑫,高级云计算咨询师、软件架构师。
主要的研究方向云计算、物联网、分布式应用开发、大数据库处理等技术领域。
精通JavaEE体系结构和Hadoop数据仓库技术,具有三年使用Hadoop及其生态系统的各个组件来搭建大型数据仓库来应对大数据的处理的经验。
精通MapReduce设计模式、HBase、Hive、Zookeeper等技术。对struts+spring+hibernate(ibatis)集成框架有非常深刻的研究;熟练掌握servlet、webservice、Ajax、jsp、JavaScript、css、xml、html;熟悉Mysql、Oracle等数据库服务器。
|
目錄:
|
第1篇 Hadoop概述与安装
第1章 Hadoop的简介和安装
1.1 Hadoop的简介
1.1.1 分布式文件系统HDFS
1.1.2 并行计算模型MapReduce
1.2 Hadoop的安装
1.2.1 虚拟机以及Ubuntu的安装
1.2.2 创建Hadoop用户
1.2.3 JDK1.6的安装
1.2.4 SSH的配置
1.2.5 单机模式下Hadoop的安装
1.2.6 伪分布式模式下Hadoop的安装
1.2.7 分布式模式下Hadoop的安装
第2篇 HDFS分布式文件系统及IO模型
第2章 HDFS架构和分布式文件系统
2.1 分布式文件系统概述
2.2 HDFS的特点
2.3 HDFS文件系统架构
2.4 Hadoop的抽象文件系统模型
2.4.1 FileSystem抽象文件系统
2.4.2 FileStatus文件状态信息
2.4.3 FsPermission文件或目录的操作权限
2.4.4 FileSystem的实现类
2.4.5 FileSystem的输入流
2.4.6 FileSystem的输出流
2.5 小结
第3章 Hadoop分布式文件系统HDFS的具体实现
3.1 DistributedFileSystem分布式文件系?
3.2 DFSClient HDFS客户端
3.3 小结
第4章 NameNode的实现
4.1 INode抽象类
4.2 INodeDirectory目录
4.3 INodeFile文件
4.4 FSDirectory文件系统目录
4.5 FSEditLog文件系统的编辑日志
4.6 FSImage文件系统镜像
4.7 Host2NodesMap主机到DataNode的映射
4.8 NetworkTopology网络拓扑结构
4.9 HostsFileReader主机文件读取器
4.10 BlocksMap 数据块到其元数据的映射
4.11 FSNamesystem HDFS文件系统的命名空间
4.12 NameNode名称结点
4.13 小结
第5章 Datanode的实现
5.1 Block数据块
5.2 DatanodeID类
5.3 DatanodeInfo类
5.4 BlockSender数据块发送器
5.5 BlockReceiver数据块接收器
5.6 DataBlockScanner数据块扫描器
5.7 FSDataset Datanode数据集合
5.8 DataXceiverServer
5.9 DataXceiver
5.10 Datanode类
5.11 小结
第6章 Hadoop的IO
6.1 数据类型接口
6.1.1 Writable接口
6.1.2 Comparable接口
6.1.3 WritableComparable接口
6.1.4 RawComparator比较器接口
6.1.5 WritableComparator接口
6.2 基本数据类型
6.2.1 IntWritable整型类型
6.2.2 Text文本类型
6.2.3 NullWritable类
6.2.4 ObjectWritable类
6.3 文件类型
6.3.1 SequenceFile序列文件
6.3.2 MapFile映射文件
6.4 小结
第3篇 MapReduce计算框架及RPC通信模型
第7章 MapReduce的输入和输出
7.1 输入格式InputFormat
7.1.1 InputFormat抽象类
7.1.2 FileInputFormat文件输入格式
7.1.3 TextInputFormat文本文件输入格式
7.1.4 KeyValueTextInputFormat键值对文件输入格式
7.1.5 CombineFileInputFormat组合文件输入格式
7.1.6 SequenceFileInputFormat序列文件输入格式
7.1.7 DBInputFormat数据库输入格式
7.1.8 MultipleInputs多种输入格式
7.1.9 DelegatingInputFormat授权输入格式
7.2 输入分片InputSplit
7.2.1 FileSplit文件输入分片
7.2.2 CombineFileSplit多文件输入分片
7.2.3 DBInputSplit数据库输入分片
7.3 记录读取器RecordReader
7.3.1 LineRecordReader行记录读取器
7.3.2 KeyValueLineRecordReader键值对记录读取器
7.3.3 CombineFileRecordReader组合文件记录读取器
7.3.4 SequenceFileRecordReader序列文件记录读取器
7.3.5
SequenceFileAsTextRecordReader和SequenceFileAsBinaryRecordReader
7.3.6 DBRecordReader数据库记录读取器
7.4 输出格式OutputFormat
7.4.1 OutputFormat抽象类
7.4.2 FileOutputFormat文件输出格式
7.4.3 TextOutputFormat文本格式的文件输出格式
7.4.4 SequenceFileOutputFormat普通序列文件输出格式
7.4.5 SequenceFileAsBinaryOutputFormat二进制序列文件输出格式
7.4.6 FilterOutputFormat过滤器输出格式
7.4.7 DBOutputFormat数据库输出格式
7.4.8 MultipleOutputs多种输出格式
7.5 记录写入器RecordWriter
7.5.1 DBRecordWriter数据库记录写入器
7.5.2 FilterRecordWriter过滤器记录写入器
7.5.3 LineRecordWriter 文本行记录写入器
7.6 输出提交器OutputCommitter
7.6.1 OutputCommitter输出提交器
7.6.2 FileOutputCommitter文件输出提交器
7.7 小结
第8章 Hadoop中的Context和ID
8.1 Hadoop运行过程中的Context上下文
8.1.1 JobContext作业上下文
8.1.2 Job作业
8.1.3 TaskAttemptContext任务尝试上下文
8.1.4 TaskInputOutputContext任务输入输出上下文
8.1.5 MapContext Mapper执行的上下文
8.1.6 ReduceContext Reducer执行的上下文
8.2 Hadoop运行过程中的ID类
8.2.1 ID类
8.2.2 JobID作业ID
8.2.3 TaskID任务ID
8.2.4 TaskAttemptID任务尝试ID
8.3 小结
第9章 Hadoop的计算模型MapReduce
9.1 Map处理过程
9.1.1 Mapper概述
9.1.2 Mapper源代码分析
9.1.3 InverseMapper反转Mapper
9.1.4 TokenCounterMapper标记计数Mapper
9.1.5 MultithreadedMapper多线程Mapper
9.1.6 FieldSelectionMapper字段选择Mapper
9.1.7 DelegatingMapper授权Mapper
9.2 Reducer处理过程
9.2.1 Reducer概述
9.2.2 Reducer源代码
9.2.3 IntSumReducer和LongSumReducer
9.2.4 FieldSelectionReducer字段选择Reducer
9.3 Partitioner分区处理过程
9.3.1 Partitioner概述
9.3.2 Partitioner源代码
9.3.3 HashPartitioner hash分区
9.3.4 BinaryPartitioner二进制分区
9.3.5 KeyFieldBasedPartitioner基于键字段的分区
9.3.6 TotalOrderPartitioner全排序分区
9.4 小结
第10章 JobClient的执行过程分析
10.1 MapReduce作业处理过程概述
10.1.1 JobConf MapReduce作业的配置信息
10.1.2 JobSubmissionProtocol作业提交的接口
10.1.3 RunningJob正在运行的Job作业的接口
10.1.4 JobStatus和JobProfile作业状态信息和注册信息
10.1.5 JobSubmissionFiles 获得作业提交的文件
10.2 JobClient提交作业流程
10.3 JobClient 提交Job的客户端
10.4 小结
第11章 JobTracker的执行过程分析
11.1 JobTracker处理过程概述
11.2 JobInfo作业信息
11.3 Counters计数器
11.4 Queue Job队列对象
11.5 QueueManager Job队列管理对象
11.6 JobInProgress正在处理的作业
11.7 JobTracker对JobClient提交的作业的处理
11.8 JobTracker的启动以及Job的初始化
11.9 JobTracker的其他源代码分析
11.10 JobTracker中的作业恢复管理器RecoveryManager
11.11 JobInProgressListener和JobQueueJobInProgressListener
11.12 小结
第12章 Hadoop的作业调度器
12.1 Hadoop作业调度器概述
12.2 TaskScheduler调度器的抽象父类
12.3 JobQueueTaskScheduler FIFO调度器
12.4 LimitTasksPerJobTaskScheduler任务数限制FIFO调度器
12.5 CapacityTaskScheduler计算能力调度器
12.6 FairScheduler公平调度器
12.7 小结
第13章 TaskTracker的执行过程
13.1 TaskTracker的启动
13.2 TaskTracker与JobTracker进行通信的组件InterTrackerProtocol
13.3 JobTracker返回给TaskTracker的Action的类型
13.4 TaskTracker向JobTracker发送心跳的过程
13.5 TaskTracker的任务处理过程
13.6 TaskTracker的其他源代码分析
13.7 TaskStatus任务的状态信息
13.8 TaskInProgress正在处理的任务
13.9 Task所有任务的父类
13.10 MapTask执行过程概述
13.11 MapOutputBuffer Map输出缓冲区
13.12 ReduceTask执行过程概述
13.13 ReduceCopier Reduce的Copy和Merge执行工具
13.14 小结
第14章 Hadoop的RPC协议
14.1 Hadoop RPC概念概述
14.2 RPC协议接口
14.2.1 ClientDatanodeProtocol客户端与DataNode进行通信的协议
14.2.2 ClientProtocol客户端和NameNode进行通信的协议
14.2.3 DatanodeProtocol DataNode与NameNode进行通信的协议
14.2.4 InterDatanodeProtocol DataNode之间进行通信的协议
14.2.5 NamenodeProtocol SecondaryNameNode与NameNode进行通信的协议
14.2.6 InterTrackerProtocol TaskTracker与JobTracker进行通信的协议
14.2.7 JobSubmissionProtocol JobClient与JobTracker进行通信的协议
14.2.8 TaskUmbilicalProtocol Child进程与TaskTracker父进程进行通信的协议
14.3 RPC的客户端和服务器端的实现
14.3.1 Client客户端
14.3.2 Server服务端
14.4 小结
|
內容試閱:
|
在如今的数字时代,全球以电子方式存储的数据总量是巨大的。据资料显示,2006年的数据总量为0.18
ZB,在2011年数据总量则达到1.8
ZB。而且数据的增长速度还在不断加快,人们已经面临着需要高效快速处理大量数据的问题。
想象一下,如果全球的网页都存储在你的计算机中,你要搜索其中一些网页出来,命令一旦发布,那么你的计算机要多久才能完成搜索任务?可是Google只需要不到一秒钟就能完成,这是因为Google把这些网页同时分布在不同的计算机上,每台计算机只搜索自己的这部分,一个命令,同时有多台计算机在执行,但是给我们的感觉是在使用一台计算机而已。Hadoop就是模仿Google核心技术而衍生的分布式计算机系统框架。
Hadoop是由Apache Software
Foundation公司于2005年秋天作为Lucene的子项目Nutch的一部分正式引入的。它受到最先由Google
Lab开发的MapReduce计算模型和Google File
System(GFS)分布式文件系统的启发。2006年3月份,MapReduce和Nutch Distributed File
System(NDFS)分别被纳入称为Hadoop的项目中。
Hadoop是一个能够对大量数据进行分布式处理的软件框架。Hadoop因具有高可靠性、高扩展性、高效性和高容错性等特性而深受广大用户的欢迎,并且迅速在大数据处理领域占领了一席之地。
编者从事Hadoop架构研究很久,对Hadoop有深入的理解。本书通过深入细致地解析Hadoop各个部分的源代码,带领读者快速高效地将Hadoop的结构和工作机理理解透彻,使读者在读完此书后能对Hadoop的底层工作机制有深入了解,能对开发Hadoop应用程序有质的提高。本书很大程度也是编者在学习Hadoop源码时候的笔记,这里将这些成果分享给大家。
本书特色
·内容全面、系统、深入
本书全面介绍了Hadoop各个组件的源代码,包括HDFS、MapReduce以及RPC等部分。此外,每节都配有详细的UML模型图和流程图,以便读者对所讲内容有更加清晰的认识。
·讲解细致,适合各个层次的读者阅读
本书从不同的层次结构依次讲解Hadoop的源代码,并深入到其结构内部,详细讲解每个部分。内容梯度从易到难,讲解由浅入深,循序渐进,适合各个层次的读者阅读。
·第一本详细解析Hadoop源码的书
本书将Hadoop关键核心的代码一一展现给大家,做到浅显易懂,使读者能快速高效地对Hadoop有一个深入的理解。
·提供技术支持,答疑解惑
读者阅读本书时若有任何疑问可到网站http:www.rzchina.net
中的Hadoop相关论坛提问,以获得帮助。笔者会及时解答读者的各种问题。
书中的程序源代码读者可到网站http:www.tdpress.comzyzxtsscflwj中下载。
本书内容及体系结构
第1篇 Hadoop概述与安装(第1章)
本篇主要对Hadoop的组成部分进行概述,简要介绍了HDFS和MapReduce的架构以及Hadoop源代码的组织形式。此外,详细介绍了Hadoop集群的搭建步骤以及注意事项。通过本篇的学习,可以让读者对Hadoop有一个整体上的认识,明确Hadoop的地位和作用,并初步搭建起Hadoop集群环境。
第2篇 HDFS分布式文件系统及模型(第2~6章)
本篇主要是对Hadoop的HDFS及IO进行介绍,详细讲解HDFS结构和分布式文件系统、Hadoop
IO相关的各种数据类型,对HDFS的重要组件NameNode和DataNode的源码进行了细致的介绍。通过本篇的学习,读者能很好地掌握Hadoop
HDFS相关的源码知识和对Hadoop 数据类型有更深层次的了解,为后续Hadoop的开发学习打下坚实的基础。
第3篇 MapReduce计算框架及RPC通信模型(第7~14章)
本篇主要是对Hadoop的核心MapReduce框架和RPC协议进行介绍,详细讲解:MapReduce的输入输出,Hadoop中的Context和ID,MapReduce的计算模型,JobClient、JobTracker、TaskTracker的执行过程分析和Hadoop的作业调度器,Hadoop
RPC协议,并对Client客户端和Server服务端进行了详细的分析。通过本篇的学习,读者能够对Hadoop有更加深入的了解,理解Hadoop的工作机制及各项工作细节,从而全面细致地对Hadoop进行认识。
本书读者对象
·想全面学习Hadoop开发技术的人员;
·Hadoop专业开发人员;
·利用Hadoop做云计算平台的工程技术人员;
·Hadoop云计算开发爱好者;
·本科研究生等学习Hadoop的学生。
|
|