1 Hadoop包总量(15个包)
15个包,分下面几类:
(1) 配置文件:这是一个多方共享的话,让每个人可以告诉群里每个人我想干啥,由控制者根据配置文件去找相应的实体指向。
(2) 共用工具:基础功能的提供者
(3) 通讯工具:大家是基于通讯进行工作的
(4) 基础运算:MR
(5) 基本读写:IO
(6) 文件处理:HDFS
(7) 文件系统:FS
(8) 文件缓存:FILECACHE
(9) 安全机制:
(10)统计处理:
(11)类型释义:RECORD
(12)用户外壳:TOOL
(13)管控工具:HTTP
两个目的:(1)满足管理者的需要;HTTP(2)满足使用者的需要;
1.1 包的列表
1.2 包的作用
包名
|
作用
|
tool
|
提供一些命令行工具,如DistCp,archive
|
mapreduce
|
Hadoop的Map/Reduce实现
|
filecache
|
提供HDFS文件的本地缓存,用于加快Map/Reduce的数据访问速度
|
fs
|
文件系统的抽象,可以理解为支持多种文件系统实现的统一文件访问接口
|
hdfs
|
HDFS,Hadoop的分布式文件系统实现
|
ipc
|
一个简单的IPC的实现,依赖于io提供的编解码功能
|
io
|
表示层。将各种数据编码/解码,方便于在网络上传输
|
net
|
封装部分网络功能,如DNS,socket
|
security
|
用户和用户组信息
|
conf
|
系统的配置参数
|
metrics
|
系统统计数据的收集,属于网管范畴
|
util
|
工具类
|
record
|
根据DDL(数据描述语言)自动生成他们的编解码函数,目前可以提供C++和Java
|
http
|
基于Jetty的HTTP Servlet,用户通过浏览器可以观察文件系统的一些状态信息和日志
|
log
|
提供HTTP访问日志的HTTP Servlet
|
1.3 包的数量
包名
|
数量
|
tool
|
3
|
mapreduce
|
211
|
filecache
|
3
|
fs
|
69
|
hdfs
|
106
|
ipc
|
8
|
io
|
84
|
net
|
13
|
security
|
3
|
conf
|
3
|
metrics
|
23
|
util
|
30
|
record
|
50
|
http
|
3
|
log
|
1
|
15个
|
610个类
|
1.4 端口定义
端口名
|
位置
|
描述信息
|
8020
|
namenode RPC交互端口
|
|
8021
|
JT RPC交互端口
|
|
8649
|
查看运行状态的端口
|
|
50070
|
dfs.http.address
|
NAMENODE的HTTP服务器和端口
|
50010
|
dfs.datanode.address
|
DATANODE控制端口,主要用于DATANODE初始化时向NAMENODE提出注册和应答请求
|
50020
|
dfs.datanode.ipc.address
|
DATANODE的RPC服务器地址和端口
|
50075
|
dfs.datanode.http.address
|
DATANODE的HTTP服务器和端口
|
50090
|
dfs.secondary.http.address
|
辅助DATANODE的HTTP服务器和端口
|
50030
|
mapred.job.tracker.http.address
|
JOBTRACKER的HTTP服务器和端口
|
50060
|
mapred.task.tracker.http.address
|
TASKTRACKER的HTTP服务器和端口
|
|
|
|
1.4.1 与HDFS有关的地址及端口属性
任何一个系统具有内部协调职能、和对外职能服务、以级管控服务三部分组成。内部协调主要用于使系统内部提供一个统一的运营基础,对外职能是系统对外提供的主要服务。管控服务是使管者者对整个系统运行状况有一个整体的了解。
1.4.1.1 Namenode相关端口
(1) fs.default.name
位置:conf/core-site.xml
必须项:是
常用值:hdfs:// [域名或IP地址] :9000
说明:NameNode 主服务器的地址
•必须在所有master及slave上的conf/core-site.xml中设置此项。并且因为Hadoop架构是主master模式,所以在一个集群中的所有master及slave上设置的fs.default.name值应该是唯一一个NameNode 主服务器的地址。
(2) dfs.http.address
位置:conf/hdfs-site.xml
必须项:否
默认值:0.0.0.0:50070
说明:NameNode HTTP状态监视地址
(3) dfs.secondary.http.address
位置:conf/hdfs-site.xml
必须项:否
默认值:0.0.0.0:50090
说明:SecondaryNameNode HTTP状态监视地址
1.4.1.2 Datanode相关端口
(1) dfs.datanode.address
位置:conf/hdfs-site.xml
必须项:否
默认值:0.0.0.0:50010
说明:DataNode 服务的地址
(2) dfs.datanode.ipc.address
位置:conf/hdfs-site.xml
必须项:否
默认值:0.0.0.0:50020
说明:DataNode IPC服务的地址
(3) dfs.datanode.http.address
位置:conf/hdfs-site.xml
必须项:否
默认值:0.0.0.0:50075
说明:DataNode HTTP状态监视地址
1.4.2 与MapReduce 有关的地址及端口属性
1.4.2.1 JOBTACKER相关端口
(1) mapred.job.tracker
位置:conf/mapred-site.xml
必须项:是
常用值:[域名或IP地址] :9001
说明:JobTracker 主服务器地址及端口
•必须在所有master及slave上的conf/mapred-site.xml中设置此项。并且因为Hadoop架构是主master模式,所以在一个集群中的所有master及slave上设置的mapred.job.tracker的值应该是唯一一个JobTracker 主服务器的地址。
(2) mapred.job.tracker.http.address
位置:conf/mapred-site.xml
必须项:否
默认值:0.0.0.0:50030
说明:JobTracker HTTP状态监视地址
1.4.2.2 TASKTACKER相关端口
(1) mapred.task.tracker.report.address
位置:conf/mapred-site.xml
必须项:否
默认值:127.0.0.1:0
说明:提交报告用TaskTracker 服务地址
(2) mapred.task.tracker.http.address
位置:conf/mapred-site.xml
必须项:否
默认值:0.0.0.0:50060
说明:TaskTracker HTTP状态监视地址
2 IO包的分析(84个类)
2.1 IO基础包分析(45个类)
序号
|
类名
|
作用
|
备注
|
1
|
AbstractMapWritable
|
Class名与序号的读写抽象实现
|
抽象实现类
|
2
|
ArrayFile
|
数组到文件和读写实现
|
继承实现类
|
3
|
ArrayWritable
|
对象实例数组与文件间的读写实现
|
继承实现类
|
4
|
BinaryComparable
|
字节集的比较抽象类
|
抽象实现类
|
5
|
BooleanWritable
|
布尔值的读写
|
抽象实现类
|
6
|
BytesWritable
|
字节数组的读写
|
抽象实现类
|
7
|
ByteWritable
|
字节的读写
|
抽象实现类
|
8
|
Closeable
|
Closable的集合方法的呢称定义
|
接口类
|
9
|
CompressedWritable
|
压缩数组的读写
|
抽象实现类
|
10
|
DataInputBuffer
|
对内存缓冲区的读操作实现
|
继承实现类
|
11
|
DataOutputBuffer
|
对内存缓冲区的写操作实现
|
继承实现类
|
12
|
DefaultStringifier
|
缺省的对象转字串,字串转对象
|
继承实现类
|
13
|
DoubleWritable
|
双精度浮点数的读写
|
继承实现类
|
14
|
FloatWritable
|
浮点数的读写
|
继承实现类
|
15
|
GenericWritable
|
通用读写的代理类
|
继承实现类
|
16
|
InputBuffer
|
对过滤数据内存缓冲区的读操作实现
|
继承实现类
|
17
|
IntWritable
|
整数的读写
|
继承实现类
|
18
|
IOUtils
|
IO操作的工具类
|
独立内存类
|
19
|
LongWritable
|
长整数的读写
|
继承实现类
|
20
|
MapFile
|
键值文件的拷贝
|
独立内存类
|
21
|
MapWritable
|
Map集合的读写
|
继承实现类
|
22
|
MD5Hash
|
MD5的值的读写
|
继承实现类
|
23
|
MultipleIOException
|
多类出错信息的扩展
|
继承实现类
|
24
|
NullWritable
|
空读写类
|
继承实现类
|
25
|
ObjectWritable
|
对象读写
|
继承实现类
|
26
|
OutputBuffer
|
对过滤数据内存缓冲区的写操作实现
|
继承实现类
|
27
|
RawComparator
|
原始比较接口定义
|
接口类
|
28
|
SequenceFile
|
流式文件读写KV
|
独立内存类
|
29
|
SetFile
|
集合文件读写
|
继承实现类
|
30
|
SortedMapWritable
|
排序后集合文件读写
|
继承实现类
|
31
|
Stringifier
|
方法集定义
|
接口类
|
32
|
Text
|
UTF8文本格式读写
|
继承实现类
|
33
|
TwoDArrayWritable
|
二维数组的读写
|
继承实现类
|
34
|
UTF8
|
UTF8格式读写
|
继承实现类
|
35
|
VersionedWritable
|
版本读写
|
继承实现类
|
36
|
VersionMismatchException
|
版本出错信息扩展
|
继承实现类
|
37
|
VIntWritable
|
可变长整型值读写
|
继承实现类
|
38
|
VLongWritable
|
可变长长整型值读写
|
继承实现类
|
39
|
Writable
|
多字段读写方法集定义
|
接口类
|
40
|
WritableComparable
|
带比较方法多字段读写方法集定义
|
接口类
|
41
|
WritableComparator
|
带比较读写的实现类
|
继承实现类
|
42
|
WritableFactories
|
读写类实例化的工厂类代理
|
独立内存类
|
43
|
WritableFactory
|
生成读写类的接口
|
接口类
|
44
|
WritableName
|
根据符号名称找到读写的类型名
|
独立内存类
|
45
|
WritableUtils
|
读写类的方法汇总工具类
|
独立内存类
|
2.2 Compress包的分析(16个类)
序号
|
类名
|
作用
|
备注
|
1
|
CompressionOutputStream
|
压缩数据输出方法集合定义类
|
抽象类
|
2
|
CompressorStream
|
压缩数据输出方法实现类
|
继承实现类
|
3
|
BlockCompressorStream
|
块数据压缩输出扩展实现类
|
继承实现类
|
4
|
CompressionInputStream
|
压缩数据读取方法集合定义类
|
抽象类
|
5
|
DecompressorStream
|
解压缩数据读取方法集合实现类
|
继承实现类
|
6
|
BlockDecompressorStream
|
块数据解压缩读取扩展实现类
|
继承实现类
|
7
|
Compressor
|
压缩数据接口方法定义
|
接口类
|
8
|
Decompressor
|
解压缩数据接口方法定义
|
接口类
|
9
|
CompressionCodec
|
压缩和解压数据格式接口方法定义
|
接口类
|
10
|
BZip2Codec
|
BZIP2压和解压格式实现类
|
继承实现类
|
11
|
DefaultCodec
|
缺省压和解压格式实现类
|
继承实现类
|
12
|
GzipCodec
|
GZIP压和解压格式实现类
|
继承实现类
|
13
|
LzoCodec
|
LZO压和解压格式实现类
|
继承实现类
|
14
|
LzopCodec
|
Lzop压和解压格式实现类
|
继承实现类
|
15
|
CodecPool
|
压缩和解压类的管理代理类
|
独立内存类
|
16
|
CompressionCodecFactory
|
根据文件名找到对应的压缩和解压格式类
|
独立内存类
|
2.3 Compress.bzip2包的分析(4个类)
序号
|
类名
|
作用
|
备注
|
1
|
BZip2Constants
|
BZIP2压和解压的固定参数
|
接口类
|
2
|
CBZip2InputStream
|
按格式进行流式读取到内存中
|
继承实现类
|
3
|
CBZip2OutputStream
|
按格式进行流式写入到内存中组成写入数据集
|
继承实现类
|
4
|
CRC
|
加校验的工具类
|
独立内存类
|
2.4 Compres.lzo包的分析(2个类)
序号
|
类名
|
作用
|
备注
|
1
|
LzoCompressor
|
LZO格式压缩数据表定义及实现类
|
继承实现类
|
2
|
LzoDecompressor
|
LZO格式解压数据表定义及实现类
|
继承实现类
|
2.5 Compress.zlib包的分析(5个类)
序号
|
类名
|
作用
|
备注
|
1
|
BuiltInZlibDeflater
|
压缩实现类
|
继承实现类
|
2
|
BuiltInZlibInflater
|
解压实现类
|
继承实现类
|
3
|
ZlibCompressor
|
Zlib格式压数据表定义及实现类
|
继承实现类
|
4
|
ZlibDecompressor
|
Zlib格式解压数据表定义及实现类
|
继承实现类
|
5
|
ZlibFactory
|
压或解压实例生成代理类
|
独立内存类
|
2.6 Compress.retry包的分析(4个类)
序号
|
类名
|
作用
|
备注
|
1
|
RetryInvocationHandler
|
按重试策略调取压缩方法
|
继承实现类
|
2
|
RetryPolicies
|
重试策略集定义类
|
独立内存类
|
3
|
RetryPolicy
|
重试策略方法定义
|
接口类
|
4
|
RetryProxy
|
重试策略集实例化工具类
|
独立内存类
|
2.7 Serializer包的分析(8个类)
序号
|
类名
|
作用
|
备注
|
1
|
Deserializer
|
反序列化接口定义
|
接口类
|
2
|
Serializer
|
序列化接口定义
|
接口类
|
3
|
DeserializerComparator
|
反序例化实现类
|
继承实现类
|
4
|
Serialization
|
序列和反序列实例访问方法集定义
|
接口类
|
5
|
JavaSerialization
|
JAVA序列和反序列实例访问方法实现类
|
继承实现类
|
6
|
JavaSerializationComparator
|
JAVA反序列实现类
|
继承实现类
|
7
|
SerializationFactory
|
序列和反序列实例的创建和组织类
|
继承实现类
|
8
|
WritableSerialization
|
读写数据时经序列或反序列转换工具
|
继承实现类
|
3 IPC包的分析(8个类)
3.1 IPC包的简介
3.1.1 基础分析
RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序就是一个服务器。当我们讨论HDFS的,通信可能发生在:
•Client-NameNode之间,其中NameNode是服务器
•Client-DataNode之间,其中DataNode是服务器
•DataNode-NameNode之间,其中NameNode是服务器
•DataNode-DateNode之间,其中某一个DateNode是服务器,另一个是客户端
如果我们考虑Hadoop的Map/Reduce以后,这些系统间的通信就更复杂了。为了解决这些客户机/服务器之间的通信,Hadoop引入了一个RPC框架。该RPC框架利用的Java的反射能力,避免了某些RPC解决方案中需要根据某种接口语言(如CORBA的IDL)生成存根和框架的问题。但是,该RPC框架要求调用的参数和返回结果必须是Java的基本类型,String和Writable接口的实现类,以及元素为以上类型的数组。
既然是RPC,当然就有客户端和服务器,当然,org.apache.hadoop.rpc也就有了类Client和类Server。但是类Server是一个抽象类,类RPC封装了Server,利用反射,把某个对象的方法开放出来,变成RPC中的服务器。
3.1.2 应用分析
由于Client可能和多个Server通信,典型的一次HDFS读,需要和NameNode打交道,也需要和某个/某些DataNode通信。这就意味着某一个Client需要维护多个连接。同时,为了减少不必要的连接,现在Client的做法是拿ConnectionId(图中最右侧)来做为Connection的ID。ConnectionId包括一个InetSocketAddress(IP地址+端口号或主机名+端口号)对象和一个用户信息对象。这就是说,同一个用户到同一个InetSocketAddress的通信将共享同一个连接。
3.2 基础包的分析(5个类)
序号
|
类名
|
作用
|
备注
|
1
|
Client
|
通讯客户端实现类
|
独立内存类
|
2
|
RemoteException
|
IO出错信息类型扩展
|
继承实现类
|
3
|
RPC
|
根据类符号调用相应的类方法
|
独立内存类
|
4
|
Server
|
通讯服务器实现
|
抽象类
|
5
|
VersionedProtocol
|
根据通讯客户端参数来返回服务端协议版本
|
接口类
|
3.3 Metrics包的分析(7个类)
序号
|
类名
|
作用
|
备注
|
1
|
RpcMetrics
|
RPC调用对象时的信息记录表
|
继承实现类
|
2
|
RpcMgt
|
RPC信息表填充的实现类
|
继承实现类
|
3
|
RpcMgtMBean
|
RPC运行时的各信息应用方法定义
|
接口类
|
4 HDFS包的分析(106个类)
4.2 基础包的分析(6个类)
序号
|
类名
|
作用
|
备注
|
1
|
ChecksumDistributedFileSystem
|
分布式文件系统校验
|
继承实现类
|
2
|
DFSClient
|
客户端访问分布式文件系统的代理实现类,代理公司的对外服务,生产厂的各个包含。
|
独立内存类
|
3
|
DFSUtil
|
校验路径的分隔符存在有(: /)
|
独立内存类
|
4
|
DistributedFileSystem
|
分布式文件系统功能的实现
|
继承实现类
|
5
|
HftpFileSystem
|
采用HTTP协议来访问HDFS文件
|
继承实现类
|
6
|
HsftpFileSystem
|
采用HTTPs协议来访问HDFS文件
|
继承实现类
|
4.3 protocol包的分析(13个类)
序号
|
类名
|
作用
|
备注
|
1
|
AlreadyBeingCreatedException
|
文件已存在的异常信息抛出扩展
|
继承实现类
|
2
|
Block
|
Bolck内存基本块结构定义与读写访问
|
继承实现类
|
3
|
BlockListAsLongs
|
Bolck块的索引构成数组
|
独立内存类
|
4
|
ClientDatanodeProtocol
|
Datanode的协议结构的字段、值及方法
|
接口类
|
5
|
ClientProtocol
|
客户协议方法集定义
|
接口类
|
6
|
DatanodeID
|
DatanodeID组成部分的定义及访问读写类
|
继承实现类
|
7
|
DatanodeInfo
|
Datanode状态信息结构定义及访问读写类
|
继承实现类
|
8
|
DataTransferProtocol
|
数据传输状态或方法值定义
|
接口类
|
9
|
FSConstants
|
HDFS文件系统的规则值定义
|
接口类
|
10
|
LocatedBlock
|
已定位到的块的说明信息表的定义及读写
|
继承实现类
|
11
|
LocatedBlocks
|
一组数据块及文件长度说明信息表的定义及读写
|
继承实现类
|
12
|
QuotaExceededException
|
引用出错信息扩展
|
继承实现类
|
13
|
UnregisteredDatanodeException
|
未在索引块中定义的数据块中的出错信息定义
|
继承实现类
|
4.4 server.balancer包的分析(1个类)
序号
|
类名
|
作用
|
备注
|
1
|
Balancer
|
负载均衡进程,各节点基于他来进行任务量的平衡
|
独立内存类
|
4.5 server.common包的分析(12个类)
序号
|
类名
|
作用
|
备注
|
1
|
GenerationStamp
|
生成时间戳的功能及读写访问类
|
继承实现类
|
2
|
HdfsConstants
|
Hdfs常量字段及取值的定义
|
接口类
|
3
|
InconsistentFSStateException
|
文件状态检查出错提示信息
|
继承实现类
|
4
|
IncorrectVersionException
|
版本不正确检查时提示信息
|
继承实现类
|
5
|
Storage
|
内存中以扩展表记录方式记录当前namenode索引信息及状态信息(文件是否在打开)
|
继承实现类
|
6
|
StorageInfo
|
内存中文件索引信息基本表
|
独立内存类
|
7
|
Upgradeable
|
对象升级接口方法集定义
|
接口类
|
8
|
UpgradeManager
|
管理职责的定义
|
独立内存类、抽象
|
9
|
UpgradeObject
|
可升级对象的接口方法实现
|
继承实现类
|
10
|
UpgradeObjectCollection
|
可升级对象的集合容器实现
|
独立内存类
|
11
|
UpgradeStatusReport
|
升级过程状态信息表定义
|
继承实现类
|
12
|
Util
|
取系统时间的实现
|
独立内存类
|
4.6 server.datanode包的分析(14个类)
序号
|
类名
|
作用
|
备注
|
1
|
BlockMetadataHeader
|
数据块头部结构定义及实现
|
独立内存类
|
2
|
BlockReceiver
|
数据块接收容器信息结构及实现写入到盘中
|
继承实现类
|
3
|
BlockSender
|
从磁盘中读数据块并发送到相应接收者
|
继承实现类
|
4
|
BlockTransferThrottler
|
块传送时的调节参数配置表
|
独立内存类
|
5
|
DataBlockScanner
|
数据块的扫描工具实现
|
继承实现类
|
6
|
DataNode
|
数据块的核心管理器
|
继承实现类
|
7
|
DatanodeBlockInfo
|
数据块的基本信息维护表
|
独立内存类
|
8
|
DataStorage
|
数据存贮文件信息的定义与实现
|
继承实现类
|
9
|
DataXceiver
|
与数据读写通讯服务器的客户端实现
|
继承实现类
|
10
|
DataXceiverServer
|
读写的通讯服务器实现
|
继承实现类
|
11
|
FSDataset
|
数据块集合定义与实现
|
继承实现类
|
12
|
FSDatasetInterface
|
数据块操作的职能定义
|
接口类
|
13
|
UpgradeManagerDatanode
|
升级数据块管理者的实现
|
继承实现类
|
14
|
UpgradeObjectDatanode
|
升级数据块对象的实现
|
继承实现类
|
4.7 server.datanode.metrics包的分析(4个类)
序号
|
类名
|
作用
|
备注
|
1
|
DataNodeMetrics
|
数据块的量度信息输出实现类
|
继承实现类
|
2
|
DataNodeStatistics
|
数据块统计功能实现类
|
继承实现类
|
3
|
DataNodeStatisticsMBean
|
统计职能的定义
|
接口类
|
4
|
FSDatasetMBean
|
数据集的职能定义
|
接口类
|
4.8 server.namenode包的分析(40个类)
序号
|
类名
|
作用
|
备注
|
1
|
BlocksMap
|
数据块的索引信息定义及索引文件定义
|
独立内存类
|
2
|
CheckpointSignature
|
存贮信息的签名信息表定义
|
继承实现类
|
3
|
CorruptReplicasMap
|
损坏块的复制集合定义及实现
|
独立内存类
|
4
|
DatanodeDescriptor
|
数据节点的状态信息定义及实现
|
继承实现类
|
5
|
DfsServlet
|
Web方式操作DFS的代理接口
|
继承实现类
|
6
|
EditLogInputStream
|
读取日志数据的类方法定义及实现
|
继承实现类
|
7
|
EditLogOutputStream
|
写日志数据的类方法定义及实现
|
继承实现类
|
8
|
FileChecksumServlets
|
文件较验web操作命令的代理实现
|
继承实现类
|
9
|
FileDataServlet
|
文件数据web操作命令的代理实现
|
继承实现类
|
10
|
FsckServlet
|
文件系统检查web操作命令的代理实现
|
继承实现类
|
11
|
FSDirectory
|
文件目录结构的定义及实现
|
继承实现类
|
12
|
FSEditLog
|
文件系统日志表的定义
|
独立内存类
|
13
|
FSImage
|
文件系统的目录、文件、数据的索引及关系信息定义
|
继承实现类
|
14
|
FSNamesystem
|
为数据节点命名的信息结构定义
|
继承实现类
|
15
|
GetImageServlet
|
文件索引信息获取web操作命令的代理实现
|
继承实现类
|
16
|
Host2NodesMap
|
数据节点表集合的管理实现类
|
继承实现类
|
17
|
INode
|
节点基础信息结构定义
|
继承实现类
|
18
|
INodeDirectory
|
目录节点信息结构定义
|
继承实现类
|
19
|
INodeDirectoryWithQuota
|
带标记录的目录节点信息结构定义
|
继承实现类
|
20
|
INodeFile
|
文件节点信息结构定义
|
继承实现类
|
21
|
INodeFileUnderConstruction
|
在创建之下的文件节点信息结构定义
|
继承实现类
|
22
|
JspHelper
|
JSP文件生成工具
|
独立内存类
|
23
|
LeaseExpiredException
|
契约到期出错提示信息扩展
|
继承实现类
|
24
|
LeaseManager
|
契约信息结构定义及实现
|
独立内存类
|
25
|
ListPathsServlet
|
文件目录信息web操作命令的代理实现
|
继承实现类
|
26
|
NameNode
|
名称节点的核心服务器类
|
继承实现类
|
27
|
NamenodeFsck
|
名称节点的系统检测类
|
独立内存类
|
28
|
NotReplicatedYetException
|
未完成复制的出错提示信息扩展
|
继承实现类
|
29
|
PendingReplicationBlocks
|
正在复制数据块的信息表定义
|
独立内存类
|
30
|
PermissionChecker
|
权限检查表结构定义及实现
|
独立内存类
|
31
|
ReplicationTargetChooser
|
数据块复制策略设定
|
独立内存类
|
32
|
SafeModeException
|
安全模式下的提示信息扩展类定义
|
继承实现类
|
33
|
SecondaryNameNode
|
名称节点的热备节点核心线程类
|
继承实现类
|
34
|
SerialNumberManager
|
为用户或组设定基于名的一个编号关系
|
独立内存类
|
35
|
StreamFile
|
数据块流式读取web操作命令的代理实现
|
继承实现类
|
36
|
StringBytesWritable
|
字串转utf8字节工具
|
继承实现类
|
37
|
TransferFsImage
|
通过http方式来获取文件的镜像信息
|
继承实现类
|
38
|
UnderReplicatedBlocks
|
复制完成后的块信息表定义
|
继承实现类
|
39
|
UpgradeManagerNamenode
|
升级名称节点的管理信息
|
继承实现类
|
40
|
UpgradeObjectNamenode
|
升级名称节点的对象信息
|
继承实现类
|
4.9 server.namenode.metrics包的分析(5个类)
序号
|
类名
|
作用
|
备注
|
1
|
FSNamesystemMBean
|
取名称节点的文件状态信息
|
接口类
|
2
|
FSNamesystemMetrics
|
名称节点的文件命名度量信息设定
|
继承实现类
|
3
|
NameNodeMetrics
|
名称节点的自身度量信息设定
|
继承实现类
|
4
|
NameNodeStatistics
|
名称节点的统计信息读取
|
继承实现类
|
5
|
NameNodeStatisticsMBean
|
名称节点的统计信息方法集的定义
|
接口类
|
4.10 server.protocol包的分析(11个类)
序号
|
类名
|
作用
|
备注
|
1
|
BlockCommand
|
数据块命令定义及实现类
|
继承实现类
|
2
|
BlockMetaDataInfo
|
数据块的元数据信息定义及实现
|
继承实现类
|
3
|
BlocksWithLocations
|
带位置的块信息的读写
|
继承实现类
|
4
|
DatanodeCommand
|
数据节点基本信息定义及实现
|
继承实现类
|
5
|
DatanodeProtocol
|
数据节点的操作方法和基础配置信息定义
|
接口类
|
6
|
DatanodeRegistration
|
数据节点的注册信息读写方法定义及实现
|
独立内存类
|
7
|
DisallowedDatanodeException
|
与名称节点通讯出错的提示信息扩展
|
继承实现类
|
8
|
InterDatanodeProtocol
|
升级数据块信息的方法定义
|
接口类
|
9
|
NamenodeProtocol
|
名称节点方法集定义
|
接口类
|
10
|
NamespaceInfo
|
返回数据节点与名称节点关联信息定义
|
继承实现类
|
11
|
UpgradeCommand
|
升级数据块命名实现
|
继承实现类
|
4.11 tools包的分析(2个类)
序号
|
类名
|
作用
|
备注
|
1
|
DFSAdmin
|
管理员命令的实现
|
继承实现类
|
2
|
DFSck
|
文件系统检查命令的实现
|
继承实现类
|
5 UTIL包的分析(30个类)
序号
|
名称
|
作用
|
备注
|
1
|
Daemon
|
各种线程实例的集合存放处
|
|
2
|
DataChecksum
|
数据检查和统计类
|
|
3
|
DiskChecker
|
文件或目录是否在存检查
|
|
4
|
GenericOptionsParser
|
操作命令正确性检查器
|
|
5
|
GenericsUtil
|
取类型和数组转换
|
|
6
|
HeapSort
|
堆栈排序
|
|
7
|
HostsFileReader
|
宿主机上文件读取
|
|
8
|
IndexedSortable
|
索引排序基础端接口
|
接口
|
9
|
IndexedSorter
|
索引排序客户端接口
|
接口
|
10
|
LineReader
|
读取一行到内存中
|
|
11
|
MergeSort
|
合并后排序
|
|
12
|
NativeCodeLoader
|
系统程序加载类程序
|
|
13
|
PlatformName
|
取平台名称
|
|
14
|
PrintJarMainClass
|
列出jar文件中的类
|
|
15
|
PriorityQueue
|
队列优先级设置
|
|
16
|
ProcfsBasedProcessTree
|
进程树
|
|
17
|
ProgramDriver
|
有main类的驱动
|
|
18
|
Progress
|
进度计算
|
|
19
|
Progressable
|
进度方法接口
|
接口
|
20
|
QuickSort
|
快速排序
|
|
21
|
ReflectionUtils
|
类属性提取
|
|
22
|
RunJar
|
运行JAR包
|
|
23
|
ServletUtil
|
Servlet的工具类
|
|
24
|
Shell
|
运行操作系统命令类
|
|
25
|
StringUtils
|
字串处理类
|
|
26
|
Tool
|
Run方法接口
|
接口
|
27
|
ToolRunner
|
Run方法驱动
|
|
28
|
UTF8ByteArrayUtils
|
Utf8的字节数组比较
|
|
29
|
VersionInfo
|
系统版本信息
|
|
30
|
XMLUtils
|
XML解析类
|
|
6 TOOLS包的分析(3个类)
客户端用的工具命令
序号
|
类名
|
作用
|
备注
|
1
|
DistCp
|
不同文件之间位移
|
|
2
|
HadoopArchives
|
Hadoop文件打包
|
|
3
|
Logalyzer
|
日志分析
|
|
7 SERCURITY包的分析(3个类)
序号
|
类名
|
作用
|
备注
|
1
|
AccessControlException
|
权限检查提示信息
|
|
2
|
UnixUserGroupInformation
|
用户组信息unix系统上的读取实现
|
|
3
|
UserGroupInformation
|
用户组信息的存贮类和形式类
|
|
8 RECORD包的分析(50个类)
中介类是继承了接口的,中介类有三种(1)有委托中介类,即内部包含另一个存放地,此类只是规则中介;(2)无委托中介类,即自身就是一个存贮类;(3)控制委托中介类,即参数中介类,由控制提供该类具体的空间。
8.1 自身包下(13个类)
序号
|
类名
|
作用
|
备注
|
1
|
BinaryRecordInput
|
类型字段的读取
|
有委托中介类
|
2
|
BinaryRecordOutput
|
类型字段的写入
|
有委托中介类
|
3
|
Buffer
|
字节集存放类
|
无委手中介类
|
4
|
CsvRecordInput
|
推回类型方式字段读取
|
有委托中介类,推回输入流PushbackInputStream和PushbackReader带有一个推回缓冲区
|
5
|
CsvRecordOutput
|
推回类型方式字段写入
|
有委托中介类
|
6
|
Index
|
索引接口
|
接口类
|
7
|
Record
|
资源record方式读取抽象
|
抽象参数中介类,控制委托
|
8
|
RecordComparator
|
抽象类
|
参数委托中介类
|
9
|
RecordInput
|
原子读方法集
|
接口类
|
10
|
RecordOutput
|
原字写方法集
|
接口类
|
11
|
Utils
|
字串转XML,字串转字节等
|
独立功能类,基本内存类
|
12
|
XmlRecordInput
|
XML的记录方式读
|
有委托中介类
|
13
|
XmlRecordOutput
|
XML的记录方式写
|
有委托中介类
|
8.2 compiler包(21个类)
序号
|
类名
|
作用
|
备注
|
1
|
CGenerator
|
C语言代码生成
|
继承实现类
|
2
|
CodeBuffer
|
生成代码字串
|
独立内存类
|
3
|
CodeGenerator
|
代码生成方法抽象类
|
抽象类
|
4
|
CppGenerator
|
Cpp语言代码生成
|
继承实现类
|
5
|
JavaGenerator
|
JAVA语言代码生成
|
继承实现类
|
6
|
Consts
|
常量定义类
|
独立内存类
|
7
|
JBoolean
|
Boolean类型代码的描述文本生成
|
类继承实现类
|
8
|
JBuffer
|
buffer类型代码的描述文本生成
|
类继承实现类
|
9
|
JByte
|
byte类型代码的描述文本生成
|
类继承实现类
|
10
|
JCompType
|
comp类型代码的描述文本生成
|
类继承实现类
|
11
|
JDouble
|
double类型代码的描述文本生成
|
继承实现类
|
12
|
JField
|
名和类型键值对内存类
|
独立内存类
|
13
|
JFile
|
File名的定义类
|
独立内存类
|
14
|
JFloat
|
float类型代码的描述文本生成
|
继承实现类
|
15
|
JInt
|
int类型代码的描述文本生成
|
继承实现类
|
16
|
JLong
|
long类型代码的描述文本生成
|
继承实现类
|
17
|
JMap
|
map类型代码的描述文本生成
|
继承实现类
|
18
|
JRecord
|
Record类型代码的描述文本生成
|
继承实现类
|
19
|
JString
|
string类型代码的描述文本生成
|
继承实现类
|
20
|
JType
|
基本属性定义类
|
抽象定义类
|
21
|
JVector
|
Vector类型代码的描述文本生成
|
继承实现类
|
8.3 compiler.ant包(1个类)
序号
|
类名
|
作用
|
备注
|
1
|
RccTask
|
Ant文件定义及运行类
|
继承实现类
|
8.4 compiler.generate包(8个类)
序号
|
类名
|
作用
|
备注
|
1
|
ParseException
|
分析出错时的各类提示信息
|
继承实现类
|
2
|
Rcc
|
Rcc工具类
|
继承接口实现类
|
3
|
RccConstants
|
Rcc常量定义
|
独立内存类
|
4
|
RccTokenManager
|
JJ模板实现类
|
常量继承实现类
|
5
|
SimpleCharStream
|
简单字符流工具类
|
独立内存类
|
6
|
Token
|
间定义类
|
独立内存类
|
7
|
TokenMgrError
|
错误类型扩展定义类
|
继承实现类
|
8
|
rcc.jj
|
|
|
8.5 meta包(7个类)
序号
|
类名
|
作用
|
备注
|
1
|
FieldTypeInfo
|
字段类型定义类
|
独立内存类
|
2
|
MapTypeID
|
键值二列表定义类
|
继承实现类
|
3
|
RecordTypeInfo
|
记录类型定义类
|
继承实现类
|
4
|
StructTypeID
|
结构类型定义类
|
继承实现类
|
5
|
TypeID
|
字节与类型定义类
|
独立内存类
|
6
|
Utils
|
根据类型读取相应值
|
独立内存类
|
7
|
VectorTypeID
|
数组类型定义类
|
继承实现类
|
9 NET包的分析(13个类)
序号
|
类名
|
作用
|
备注
|
1
|
CachedDNSToSwitchMapping
|
内存DNS信息对
|
接口继承实现类
|
2
|
DNS
|
DNS功能实现类
|
独立内存类
|
3
|
DNSToSwitchMapping
|
解析DNS接口定义
|
接口类
|
4
|
NetUtils
|
网络功能调用类
|
独立内存类
|
5
|
NetworkTopology
|
网络拓朴关系类
|
独立内存类
|
6
|
Node
|
节点接口定义
|
接口类
|
7
|
NodeBase
|
节点接口实现类
|
接口继承实现类
|
8
|
ScriptBasedMapping
|
从脚本文件中读DNS信息
|
继承实现类
|
9
|
SocketInputStream
|
基于套接字的读
|
中介委托类
|
10
|
SocketIOWithTimeout
|
时间设置类
|
独立内存类
|
11
|
SocketOutputStream
|
基于套接字的写
|
中介委托类
|
12
|
SocksSocketFactory
|
套接字接口实现类
|
中介委托类
|
13
|
StandardSocketFactory
|
标准套接字实现类
|
继承实现类
|
10 Metrics包的分析(23个类)
10.1 自身类的分析(6个类)
序号
|
类名
|
作用
|
备注
|
1
|
ContextFactory
|
上下文数据采集类
|
独立内存类
|
2
|
MetricsContext
|
度量数据访问接口
|
接口类
|
3
|
MetricsException
|
度量出错信息类型扩展
|
继承实现类(纵向值扩展)
|
4
|
MetricsRecord
|
度量记录格式定义类
|
接口类
|
5
|
MetricsUtil
|
度量上下文访问类
|
对外访问独立类
|
6
|
Updater
|
度量上下文更新方法
|
接口类
|
10.2 Metrics.file包的分析(1个类)
序号
|
类名
|
作用
|
备注
|
1
|
FileContext
|
将度量信息写到文件中
|
继承实现类
|
10.3 Metrics.gangli包的分析(2个类)
序号
|
类名
|
作用
|
备注
|
1
|
GangliaContext
|
将度量信息写到map中
|
继承实现类
|
10.4 Metrics.jvm包的分析(2个类)
序号
|
类名
|
作用
|
备注
|
1
|
EventCounter
|
四种事件发生计数器
|
继承实现类
|
2
|
JvmMetrics
|
虚拟机度量信息管理
|
继承实现类
|
10.5 Metrics.spi包的分析(7个类)
序号
|
类名
|
作用
|
备注
|
1
|
AbstractMetricsContext
|
度量信息采集实现类
|
抽象继承实现类
|
2
|
MetricsRecordImpl
|
度量信息格式化记录类
|
继承实现类
|
3
|
MetricValue
|
度量值总量的定义类
|
独立内存类
|
4
|
NullContext
|
缺省信息采集实现类
|
继承实现类
|
5
|
NullContextWithUpdateThread
|
带采集周期的实现类
|
继承实现类
|
6
|
OutputRecord
|
度量信息的VO类
|
独立内存类
|
7
|
Util
|
采集目的地的指向类
|
独立内存类
|
10.6 Metrics.util包的分析(5个类)
序号
|
类名
|
作用
|
备注
|
1
|
MBeanUtil
|
度量服务对象的管理
|
独立内存类
|
2
|
MetricsIntValue
|
度量信息的值是整型的类
|
独立内存类
|
3
|
MetricsLongValue
|
度量信息的值是长整型的类
|
独立内存类
|
4
|
MetricsTimeVaryingInt
|
度量信息的值是随时间变化的整型的类
|
独立内存类
|
5
|
MetricsTimeVaryingRate
|
度量信息的值随时间变化的频率
|
独立内存类
|
11 LOG包的分析(1个类)
序号
|
类名
|
作用
|
备注
|
1
|
LogLevel
|
日志信息按类型输出管理
|
独立内存类
|
12 HTTP包分析(3个类)
序号
|
类名
|
作用
|
备注
|
1
|
FilterContainer
|
过滤器的填加方法
|
接口类
|
2
|
FilterInitializer
|
过滤器集合的设置方法
|
接口类
|
3
|
HttpServer
|
Jetty通讯容器工具
|
独立内存类
|
13 Conf包的分析(3个类)
序号
|
类名
|
作用
|
备注
|
1
|
Configurable
|
配置信息读写方法集合
|
接口类
|
2
|
Configured
|
配置信息读写实现类
|
继承实现类
|
3
|
Configuration
|
配置信息的VO类
|
独立内存类
|
14 FileCache包的分析(3个类)
序号
|
类名
|
作用
|
备注
|
1
|
Configurable
|
配置信息读写方法集合
|
接口类
|
2
|
Configured
|
配置信息读写实现类
|
继承实现类
|
3
|
Configuration
|
配置信息的VO类
|
独立内存类
|
15 FS包的分析(69个类)
15.1 自身包的分析(36个类)
序号
|
类名
|
作用
|
备注
|
1
|
BlockLocation
|
存贮块数据的空间索引信息
|
继承实现类
|
2
|
BufferedFSInputStream
|
从buffer内存中读取数据到字节数组中
|
继承实现类
|
3
|
ChecksumException
|
出错信息扩展类
|
继承实现类
|
4
|
ChecksumFileSystem
|
带校验文件的创建增删操作
|
继承实现类
|
5
|
ContentSummary
|
文件或目录统计信息数据类
|
继承实现类
|
6
|
DF
|
磁盘空间统计信息访问类
|
继承实现类
|
7
|
DU
|
磁盘空间统计信息访问类
|
继承实现类
|
8
|
FileChecksum
|
文件校验信息方法定义类
|
抽象继承实现类
|
9
|
FileStatus
|
文件当前状况结构定义及读写数据类
|
继承实现类
|
10
|
FileSystem
|
文件功能集的抽象实现实义类
|
继承实现类
|
11
|
FileUtil
|
文件操作的组织代理类。
|
独立内存类
|
12
|
FilterFileSystem
|
文件系统过滤实现类
|
继承实现类
|
13
|
FSDataInputStream
|
文件数据读入到用户内存定义空间中
|
继承实现类
|
14
|
FSDataOutputStream
|
用户内存数据写入到文件中
|
继承实现类
|
15
|
FSError
|
ERRO信息扩展类
|
继承实现类
|
16
|
FSInputChecker
|
带校验数据读入类
|
继承实现类
|
17
|
FSInputStream
|
从FS中读取数据
|
继承实现类
|
18
|
FSOutputSummer
|
写入数据到FS中
|
继承实现类
|
19
|
FsShell
|
FS功能的集合代理类
|
继承包含委托执行类实现
|
20
|
FsShellPermissions
|
文件操作权限检查
|
独立内存类
|
21
|
FsUrlConnection
|
远程FS文件的读取行为连接类
|
继承实现类
|
22
|
FsUrlStreamHandler
|
远程FS文件的读取行为连接驱动类
|
继承实现类
|
23
|
FsUrlStreamHandlerFactory
|
连接驱动类的工厂类
|
继承实现类
|
24
|
GlobExpander
|
全局扩展类
|
独立内存类
|
25
|
HarFileSystem
|
FS压缩文件操作实现类
|
继承实现类
|
26
|
InMemoryFileSystem
|
内存文件系统的操作实现类
|
继承实现类
|
27
|
LocalDirAllocator
|
本地目录文件块操作类
|
独立内存类
|
28
|
LocalFileSystem
|
本地文件系统操作类
|
继承实现类
|
29
|
MD5MD5CRC32FileChecksum
|
MD5格式的文件较验
|
继承实现类
|
30
|
Path
|
FS文件路径信息操作类
|
继承实现类
|
31
|
PathFilter
|
FS文件路径过滤
|
接口类
|
32
|
PositionedReadable
|
指定位置读方法定义
|
接口类
|
33
|
RawLocalFileSystem
|
无较验本地文件操作
|
继承实现类
|
34
|
Seekable
|
偏移地址方法定义
|
接口类
|
35
|
Syncable
|
异步操作方法定义
|
接口类
|
36
|
Trash
|
文件移动到垃圾箱操作
|
独立内存类
|
15.2 Fs.ftp包的分析(3个类)
序号
|
类名
|
作用
|
备注
|
1
|
FTPException
|
FTP出错信息扩展
|
独立内存继承类
|
2
|
FTPFileSystem
|
FTP远程文件在HDFS存贮中的创建
|
继承实现类
|
3
|
FTPInputStream
|
FTP文件的读入后并写入到FS中
|
继承实现类
|
15.3 Fs. kfs包的分析(5个类)
序号
|
类名
|
作用
|
备注
|
1
|
IFSImpl
|
KFS的方法集合
|
接口类
|
2
|
KFSImpl
|
KFS的方法实现类
|
继承实现类
|
3
|
KFSInputStream
|
从KFS读取数据写入到FS
|
继承实现类
|
4
|
KFSOutputStream
|
从FS读取数据写入到KFS
|
继承实现类
|
5
|
KosmosFileSystem
|
FKS的系统功能中介类
|
继承实现类
|
15.4 Fs.s3包的分析(12个类)
序号
|
类名
|
作用
|
备注
|
1
|
Block
|
块记录表定义(序号,度量)
|
独立内存类
|
2
|
FileSystemStore
|
FS系统读写的接口
|
接口类
|
3
|
INode
|
目录或文件的节点定义类
|
独立内存类
|
4
|
Jets3tFileSystemStore
|
S3文件系统的访问接口
|
继承实现类
|
5
|
MigrationTool
|
S3文件数据的迁移工具
|
继承实现类
|
6
|
S3Credentials
|
S3凭证验证
|
独立内存类
|
7
|
S3Exception
|
S3出错信息扩展
|
继承实现类
|
8
|
S3FileSystem
|
S3文件系统的统一代理使者
|
继承实现类
|
9
|
S3FileSystemException
|
S3文件操作时出错信息扩展
|
继承实现类
|
10
|
S3InputStream
|
S3文件读入到FS中
|
继承实现类
|
11
|
S3OutputStream
|
FS文件写入到S3中
|
继承实现类
|
12
|
VersionMismatchException
|
版本出错信息扩展
|
继承实现类
|
15.5 Fs.s3native包的分析(5个类)
序号
|
类名
|
作用
|
备注
|
1
|
FileMetadata
|
文件元数据(文件名、长度、状态)定义类
|
独立内存类
|
2
|
Jets3tNativeFileSystemStore
|
S3文件本地访部问实现类
|
继承实现类
|
3
|
NativeFileSystemStore
|
S3文件读写方法集定义
|
接口类
|
4
|
NativeS3FileSystem
|
S3文件读写到本地实现类
|
继承实现类
|
5
|
PartialListing
|
组成部分定义表
|
独立内存类
|
15.6 Fs.permission包的分析(4个类)
序号
|
类名
|
作用
|
备注
|
1
|
AccessControlException
|
出错信息的扩展,具有的记录定义
|
继承实现类
|
2
|
FsAction
|
行为枚举键值类
|
独立内存类
|
3
|
FsPermission
|
文件访问行为权限信息记录的中介类
|
继承实现类
|
4
|
PermissionStatus
|
文件访问的用户和组信息记录的中介类
|
继承实现类
|
15.7 Fs.shell包的分析(4个类)
序号
|
类名
|
作用
|
备注
|
1
|
Command
|
命令执行代理类
|
继承实现类
|
2
|
CommandFormat
|
命令格式检查类
|
独立内存类
|
3
|
CommandUtils
|
命令语句生成工具类
|
独立内存类
|
4
|
Count
|
数量统计功能类
|
继承实现类
|
16 MapRed包的分析(211个类)
16.1 基础类包的分析(135个类)
序号
|
类名
|
作用
|
备注
|
1
|
BasicTypeSorterBase
|
基本k-v的元数据信息定义类(K数量、度量等)
|
继承实现类
|
2
|
BufferSorter
|
排序方法接口定义
|
扩展接口类
|
3
|
Child
|
启动子线程管理类
|
独立内存类
|
4
|
ClusterStatus
|
MR集群的总量定义类
|
继承实现类
|
5
|
CommitTaskAction
|
置任务状态为确认
|
继承实现类
|
6
|
CompletedJobStatusStore
|
已完成作业的事后管理类
|
线程实现类
|
7
|
Counters
|
作业数量管理器
|
继承实现类
|
8
|
DefaultJobHistoryParser
|
作业历史文件读写
|
独立内存类
|
9
|
DisallowedTaskTrackerException
|
不充许任务者与作业连接时出错信息扩展
|
继承实现类
|
10
|
EagerTaskInitializationListener
|
作业创建事件发生时的监听类,生成大量任务线程
|
继承实现类
|
11
|
FileAlreadyExistsException
|
文件已存在出错信息扩展类
|
继承实现类
|
12
|
FileInputFormat
|
从文件中按KV格式的信息定义
|
继承实现类
|
13
|
FileOutputCommitter
|
指定输出到文件的确认
|
继承实现类
|
14
|
FileOutputFormat
|
从KV格式读取信息输出到文件的规则信息定义
|
继承实现类
|
15
|
FileSplit
|
文件分割器
|
继承实现类
|
16
|
HeartbeatResponse
|
心跳信息的定义类
|
继承实现类
|
17
|
HistoryViewer
|
Job历史文件的查看
|
独立内存类
|
18
|
ID
|
ID记录的访问
|
继承实现类
|
19
|
IFile
|
文件的读取与生成代理组织
|
独立内存类
|
20
|
IFileInputStream
|
带校验的文件读取执行
|
继承实现类
|
21
|
IFileOutputStream
|
带校验的文件写入执行
|
继承实现类
|
22
|
IndexCache
|
索引缓冲区的创建与访问
|
独立内存类
|
23
|
IndexRecord
|
索引记录格式定义类
|
独立内存类
|
24
|
InputFormat
|
切割份数和读取记录的方法定义
|
接口类
|
25
|
InputSplit
|
切割度量和切割位置的方法扩展
|
接口扩展类
|
26
|
InterTrackerProtocol
|
内部任务协议方法定义
|
接口扩展类
|
27
|
InvalidFileTypeException
|
非法文件类型错误信息扩展
|
继承实现类
|
28
|
InvalidInputException
|
无效输入类型错误信息扩展
|
继承实现类
|
29
|
InvalidJobConfException
|
JOB配置出错信息扩展
|
继承实现类
|
30
|
IsolationRunner
|
独立执行某个作业的程序
|
独立可执行类
|
31
|
JobChangeEvent
|
作业事件定义的抽象类
|
抽象类
|
32
|
JobClient
|
作业的逻辑策略执行管理类,是服务的注册入口
|
继承实现类
|
33
|
JobConf
|
MR的输入、输出、规则的值配置定义和存贮类
|
继承实现类
|
34
|
JobConfigurable
|
MR配置文件的接口方法定义
|
接口类
|
35
|
JobContext
|
作业和进程的关系定义类
|
独立内存类
|
36
|
JobEndNotifier
|
任务结束事件的监测和发送管理器
|
独立内存类
|
37
|
JobHistory
|
作业历史记录格式定义与记录读取和写入类
|
独立内存类
|
38
|
JobID
|
JOBID的定义类
|
继承扩展类
|
39
|
JobInProgress
|
作业和进程的所有信息的定义类
|
独立内存类
|
40
|
JobInProgressListener
|
作业相关进程的临听事件定义
|
抽象类
|
41
|
JobPriority
|
作业优先级符号枚举定义
|
枚举类
|
42
|
JobProfile
|
作业基本信息表定义类
|
继承扩展类
|
43
|
JobQueueClient
|
列出正在执行的作业队列的工具类
|
继承扩展类
|
44
|
JobQueueInfo
|
作业队列信息表的定义管理类
|
继承实现类
|
45
|
JobQueueJobInProgressListener
|
作业队例的所有作业的事件监听器定义
|
继承实现类
|
46
|
JobQueueTaskScheduler
|
作业队列关联的任务执行计划管理类
|
继承实现类
|
47
|
JobShell
|
作业的命令行执行工具
|
继承实现类
|
48
|
JobStatus
|
作业状态表定义管理类
|
继承实现类
|
49
|
JobStatusChangeEvent
|
作业状态事件变化前后表定义
|
继承实现类
|
50
|
JobSubmissionProtocol
|
作业的各类查询命令和状态控制命令集合
|
接口定义类
|
51
|
JobTracker
|
作业命令的实现
|
继承实现类
|
52
|
JobTrackerInstrumentation
|
作业命令执行状态方法定义(提交、完成)
|
独立内存类
|
53
|
JobTrackerMetricsInst
|
作业命令执行状态方法的计数实现
|
继承实现类
|
54
|
JSPUtil
|
处理JSP提交指令和生成JSP格式的报告
|
独立内存类
|
55
|
JVMId
|
虚拟机ID信息表定义及访问方式实现
|
继承实现类
|
56
|
JvmManager
|
虚拟机与作业的MR 任务关系管理
|
独立内存类
|
57
|
JvmTask
|
任务与虚拟机关系表定义及管理
|
继承实现类
|
58
|
KeyValueLineRecordReader
|
以行为单位的KV表的定义及KV记录的生成
|
继承实现类
|
59
|
KeyValueTextInputFormat
|
文本文件按行方式读取到内存中写入到KV记录表中
|
继承实现类
|
60
|
KillJobAction
|
被kill的作业的记录表定义
|
继承实现类
|
61
|
KillTaskAction
|
被kill的任务的记录表定义
|
继承实现类
|
62
|
LaunchTaskAction
|
已调装的任务的记录表定义
|
继承实现类
|
63
|
LimitTasksPerJobTaskScheduler
|
每作业最少任务计划表定义
|
继承实现类
|
64
|
LineRecordReader
|
行记录表的记录创建与读取
|
继承实现类
|
65
|
LocalJobRunner
|
本地作业的命令应用实现
|
继承实现类
|
66
|
MapFileOutputFormat
|
MAP文件输出格式定义(顺序)
|
继承实现类
|
67
|
MapOutputFile
|
获取MAP输出文件的路径信息
|
独立内存类
|
68
|
Mapper
|
文件内容分拆成N个KV键值对文件
|
接口类
|
69
|
MapReduceBase
|
扩展方法的空实现类
|
继承实现类
|
70
|
MapRunnable
|
客户继承该接口可以实现局部的文件映射
|
接口类
|
71
|
MapRunner
|
70接口的实现类
|
继承实现类
|
72
|
MapTask
|
MAP任务的任务定义表和任务执行实现类
|
继承实现类
|
73
|
MapTaskCompletionEventsUpdate
|
MAP任务完成事件通知表定义及记录读写
|
继承实现类
|
74
|
MapTaskRunner
|
Map作务的线程实现类
|
继承实现类
|
75
|
MapTaskStatus
|
MAP任务的执行状态访问方法实现
|
继承实现类
|
76
|
Merger
|
合并文件实现类
|
独立内存类
|
77
|
MergeSorter
|
合并前的排序实现类
|
继承实现类
|
78
|
MRConstants
|
MR常量定义
|
接口类
|
79
|
MultiFileInputFormat
|
多个文件输入时的处理方式定义类
|
继承实现类
|
80
|
MultiFileSplit
|
多文件分隔表的定义与记录处理
|
继承实现类
|
81
|
OutputCollector
|
KV记录收集方法定义
|
接口类
|
82
|
OutputCommitter
|
KV记录输出的确认抽象类方法定义
|
抽象类
|
83
|
OutputFormat
|
KV输出格式的类型定义接口
|
接口类
|
84
|
OutputLogFilter
|
输出日志过滤类实现
|
继承实现类
|
85
|
Partitioner
|
按K值进行分类块多少的方法定义
|
接口类
|
86
|
QueueManager
|
所有队列表的集合管理类
|
独立内存类
|
87
|
RamManager
|
预留内存块大小方法定义
|
接口类
|
88
|
RawKeyValueIterator
|
KEY的递归关系接口定义
|
接口类
|
89
|
RecordReader
|
KV读取类方法定义
|
接口类
|
90
|
RecordWriter
|
KV写入类方法定义
|
接口类
|
91
|
Reducer
|
归并接口定义
|
接口类
|
92
|
ReduceTask
|
归并任务表的定义与访问驱动类
|
继承实现类
|
93
|
ReduceTaskRunner
|
归并任务的线程实现类
|
继承实现类
|
94
|
ReduceTaskStatus
|
归并任务的状态表定义及记录管理类
|
继承实现类
|
95
|
ReinitTrackerAction
|
重新初始化跟踪器类型增加实现类
|
继承实现类
|
96
|
Reporter
|
控制报告的接口定义
|
接口类
|
97
|
ResourceEstimator
|
资源估计量的实现类
|
独立内存类
|
98
|
RunningJob
|
正在运行作业的操作方法集合定义
|
接口类
|
99
|
SequenceFileAsBinaryInputFormat
|
以二进制格式KV顺序读取流式文件
|
继承实现类
|
100
|
SequenceFileAsBinaryOutputFormat
|
以二进制格式KV顺序定入流式文件
|
继承实现类
|
101
|
SequenceFileAsTextInputFormat
|
以文本格式KV顺序读取流式文件
|
继承实现类
|
102
|
SequenceFileAsTextRecordReader
|
生成文件格式KV记录
|
继承实现类
|
103
|
SequenceFileInputFilter
|
读取流式文件的过滤条件设置
|
继承实现类
|
104
|
SequenceFileInputFormat
|
流式文件读取时的参数设置
|
继承实现类
|
105
|
SequenceFileOutputFormat
|
流式文件输出时的参数设置
|
继承实现类
|
106
|
SequenceFileRecordReader
|
流式文件MR记录的读取工具类实现
|
继承实现类
|
107
|
SkipBadRecords
|
跳过坏的记录类的工具实现
|
独立内存类
|
108
|
SortedRanges
|
指定范围形成排序的工具类
|
继承实现类
|
109
|
StatusHttpServer
|
生成各种状态图
|
继承实现类
|
110
|
Task
|
任务表的字段定义及设置方法实现类
|
独立内存类
|
111
|
TaskAttemptContext
|
任务上下文内存表定义及设置方法实现类
|
继承扩展子表实现类
|
112
|
TaskAttemptID
|
任务偿试ID定义类
|
继承扩展子表实现类
|
113
|
TaskCompletionEvent
|
任务完成事件表字段定义及设置类
|
继承实现类
|
114
|
TaskID
|
任务ID定义类
|
继承扩展子表实现类
|
115
|
TaskInProgress
|
在进程中的任务所有信息的内存表定义类
|
独立内存类
|
116
|
TaskLog
|
任务日志表定义及表记录生成实现类
|
独立内存类
|
117
|
TaskLogAppender
|
任务日志追加实现类
|
继承实现类
|
118
|
TaskLogServlet
|
任务日志文件的html页面生成
|
继承实现类
|
119
|
TaskMemoryManagerThread
|
任务内存管理线程实现类
|
继承实现类
|
120
|
TaskReport
|
任务报告表字段定义及设置类
|
继承实现类
|
121
|
TaskRunner
|
任务执行线程实现类
|
继承实现类
|
122
|
TaskScheduler
|
任务计划数据及方法定义类
|
抽象类
|
123
|
TaskStatus
|
任务状态表字段定义及设置方法类
|
继承实现类
|
124
|
TaskTracker
|
任务执行的各种方法实现类
|
继承实现类
|
125
|
TaskTrackerAction
|
任务跟踪的代理实现类
|
继承实现类
|
126
|
TaskTrackerInstrumentation
|
各类任务的状态信息访问方法集定义
|
独立内存类
|
127
|
TaskTrackerManager
|
任务跟踪管理者的职能工作定义
|
接口类
|
128
|
TaskTrackerMetricsInst
|
任务状态的度量值处理类
|
继承实现类
|
129
|
TaskTrackerStatus
|
任务跟踪器的状态表字段定义及存取类
|
继承实现类
|
130
|
TaskUmbilicalProtocol
|
任务与父类间方法定义
|
接口类
|
131
|
TextInputFormat
|
从文件切片内存中以字串的形式生成KV键值表
|
继承实现类
|
132
|
TextOutputFormat
|
以字串的形式输出KV键值表
|
继承实现类
|
133
|
JobInProgress_Counter.properties
|
作业次数概念的定义文件
|
|
134
|
Task_Counter.properties
|
任务次数概念的定义文件
|
|
135
|
Task_FileSystemCounter.properties
|
任务文件系统次数概念的定义文件
|
|
16.2 Mapred.jobcontrol包的分析(2个类)
序号
|
类名
|
作用
|
备注
|
1
|
Job
|
Job内存表的定义
|
独立内存类
|
2
|
JobControl
|
Job状态的全程监测类
|
继承实现类
|
16.3 Mapred.join包的分析(16个类)
序号
|
类名
|
作用
|
备注
|
1
|
ArrayListBackedIterator
|
用数组管理多模递归树
|
继承实现类
|
2
|
ComposableInputFormat
|
按照组合设定格式创建KV键值
|
继承实现类
|
3
|
ComposableRecordReader
|
组合格式KV创建与读写的方法接口定义
|
接口类
|
4
|
CompositeInputFormat
|
合成格式的KV键值的创建和读写实现
|
继承实现类
|
5
|
CompositeInputSplit
|
按照合成格式要求进行文件拆分
|
继承实现类
|
6
|
CompositeRecordReader
|
组合记录表的定义及记录管理
|
继承实现类
|
7
|
InnerJoinRecordReader
|
KV记录内存合成实现
|
继承实现类
|
8
|
JoinRecordReader
|
组合KV记录的创建与读取
|
继承实现类
|
9
|
MultiFilterRecordReader
|
多重过滤的KV记录读取
|
继承实现类
|
10
|
OuterJoinRecordReader
|
外部组合KV记录
|
继承实现类
|
11
|
OverrideRecordReader
|
KV记录重载读取
|
继承实现类
|
12
|
Parser
|
语法符号定义类
|
独立内存类
|
13
|
ResetableIterator
|
全状态递归集合的方法定义
|
接口类
|
14
|
StreamBackedIterator
|
字节流构成的递归集合
|
继承实现类
|
15
|
TupleWritable
|
序列化数据类的读写表定义及实现
|
继承实现类
|
16
|
WrappedRecordReader
|
有包装的KV记录的创建与加工处理
|
继承实现类
|
16.4 Mapred.lib包的分析(27个类)
序号
|
类名
|
作用
|
备注
|
1
|
Chain
|
组织MR的执行链集合类
|
独立内存类
|
2
|
ChainMapper
|
一个map任务多个执行活动组织
|
继承实现类
|
3
|
ChainReducer
|
一个reduce任务多个执行活动组织
|
继承实现类
|
4
|
DelegatingInputFormat
|
代理输入方式的处理类(切割策略和KV组织策略)
|
继承实现类
|
5
|
DelegatingMapper
|
Map任务的代理实现类
|
继承实现类
|
6
|
FieldSelectionMapReduce
|
内存字段的的MR实现类
|
继承实现类
|
7
|
HashPartitioner
|
Hash方式实现分类
|
继承实现类
|
8
|
IdentityMapper
|
KV不变输出到out中
|
继承实现类
|
9
|
IdentityReducer
|
KV不变输出到out中
|
继承实现类
|
10
|
InputSampler
|
输入的处理范例
|
继承实现类
|
11
|
InverseMapper
|
KV互换map实现
|
继承实现类
|
12
|
KeyFieldBasedComparator
|
按key字段进行比较
|
继承实现类
|
13
|
KeyFieldBasedPartitioner
|
按key字段进行v值的组合
|
继承实现类
|
14
|
KeyFieldHelper
|
Key字段的属性表定义与管理
|
独立内存类
|
15
|
LongSumReducer
|
长整型V值合加实现
|
继承实现类
|
16
|
MultipleInputs
|
多个输入路径的指定
|
独立内存类
|
17
|
MultipleOutputFormat
|
指定多种不同的文件输出方式
|
继承实现类
|
18
|
MultipleOutputs
|
输出值多种附加输出方式设定
|
独立内存类
|
19
|
MultipleSequenceFileOutputFormat
|
指定多种不同的流式文件输出方式
|
继承实现类
|
20
|
MultipleTextOutputFormat
|
指定多种不同的文本文件输出方式
|
继承实现类
|
21
|
MultithreadedMapRunner
|
多线程并发的MAP任务管理器
|
继承实现类
|
22
|
NLineInputFormat
|
指定N行V值读取方式
|
继承实现类
|
23
|
NullOutputFormat
|
空输出KV值
|
继承实现类
|
24
|
RegexMapper
|
带正则式的KV值处理
|
继承实现类
|
25
|
TaggedInputSplit
|
带标签的输入切分方式指定
|
继承实现类
|
26
|
TokenCountMapper
|
带缺省分隔符的KV生成类
|
继承实现类
|
27
|
TotalOrderPartitioner
|
分割后的文件排序
|
继承实现类
|
16.5 Mapred.lib.aggregate包的分析(17个类)
序号
|
类名
|
作用
|
备注
|
1
|
DoubleValueSum
|
计算浮点数的总和
|
独立内存类
|
2
|
LongValueMax
|
长整数中的最大值
|
独立内存类
|
3
|
LongValueMin
|
长整数中的最小值
|
独立内存类
|
4
|
LongValueSum
|
计算长整数的总和
|
独立内存类
|
5
|
StringValueMax
|
字串中最长的
|
独立内存类
|
6
|
StringValueMin
|
字串中最短的
|
独立内存类
|
7
|
UniqValueCount
|
消除重复值
|
独立内存类
|
8
|
UserDefinedValueAggregatorDescriptor
|
用户指定的一个聚合的格式表
|
继承实现类
|
9
|
ValueAggregator
|
聚合操作方法定义
|
接口类
|
10
|
ValueAggregatorBaseDescriptor
|
值聚合的总体介绍(有多少种),代理类
|
继承实现类
|
11
|
ValueAggregatorCombiner
|
聚合类的组合输出
|
继承实现类
|
12
|
ValueAggregatorDescriptor
|
描述接口方法定义
|
接口类
|
13
|
ValueAggregatorJob
|
聚合任务主类
|
独立内存类
|
14
|
ValueAggregatorJobBase
|
聚合的MR的公共数据基类
|
继承实现类
|
15
|
ValueAggregatorMapper
|
聚合的KV值生成算法
|
继承实现类
|
16
|
ValueAggregatorReducer
|
聚合的KV值聚类算法
|
继承实现类
|
17
|
ValueHistogram
|
计算字串的柱状图
|
继承实现类
|
16.6 Mapred.lib.db包的分析(4个类)
序号
|
类名
|
作用
|
备注
|
1
|
DBConfiguration
|
数据库访问参数逻辑标识符定义类及数据库访问操作
|
独立内存类
|
2
|
DBInputFormat
|
数据库表读取表名和字段名及查询条件设定与操作
|
继承实现类
|
3
|
DBOutputFormat
|
输出到指定的表中
|
继承实现类
|
4
|
DBWritable
|
数据库类的读写方法定义
|
接口类
|
16.7 Mapred.pipes包的分析(10个类)
序号
|
类名
|
作用
|
备注
|
1
|
Application
|
任务执行的进程启动管理类,启动相应任务
|
独立内存类
|
2
|
BinaryProtocol
|
二进制读取通讯实现类,调用MR相应的类
|
继承实现类
|
3
|
DownwardProtocol
|
进程中任务的时序方法定义
|
接口类
|
4
|
OutputHandler
|
输出的响应处类实现
|
继承实现类
|
5
|
PipesMapRunner
|
接收管道信息进行KV数组生成
|
继承实现类
|
6
|
PipesNonJavaInputFormat
|
从管道中设定KV的组成方式
|
继承实现类
|
7
|
PipesPartitioner
|
管道KV的分类整理
|
继承实现类
|
8
|
PipesReducer
|
管道KV的归类整理输出
|
|
9
|
Submitter
|
管道方式作业的执行策略代理类
|
继承实现类
|
10
|
UpwardProtocol
|
同步管道进程间信息传递处理方法
|
接口类
|
(责任编辑:IT) |