物联传媒 旗下网站
登录 注册
价格:待定
深入云计算:Hadoop源代码分析
作  者:张鑫 著
出 版 社:中国铁道出版社
出版时间:2014年08月
字  数:687000
版  次:2
页  数:644
开  本:16
印  次:2
I S B N:9787113186241
书刊介绍
  本书是一本全面细致介绍和分析Hadoop源码和内部工作机理的技术书籍,通过对Hadoop内部源码详细透彻的解析,使读者能够快速高效地掌握Hadoop的内部工作机制,了解Hadoop内部源码架构,对Hadoop有更加深刻的认识。   本书主要对Hadoop最核心的部分:HDFS和MapReduce进行源码解析和说明。适合所有想全面学习Hadoop开发技术的人员阅读,也适用于使用Hadoop进行开发的工程技术人员,还可作为想深入了解Hadoop运行机制、源代码的开发人员的参考书籍。   本书是一本全面细致介绍和分析Hadoop源码和内部工作机理的技术书籍,通过对Hadoop内部源码详细透彻的解析,使读者能够快速高效地掌握Hadoop的内部工作机制,了解Hadoop内部源码架构,对Hadoop有更加深刻的认识。
  本书主要对Hadoop最核心的部分:HDFS和MapReduce进行源码解析和说明。适合所有想全面学习Hadoop开发技术的人员阅读,也适用于使用Hadoop进行开发的工程技术人员,还可作为想深入了解Hadoop运行机制、源代码的开发人员的参考书籍。

第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 小结