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 | 同步管道进程间信息传递处理方法 | 接口类 |