UHP博客文章地址:http://yuntai.1kapp.com/?p=440
原创文章,转载请注明出处:http://blog.csdn.net/wind5shy/article/details/8090130
fs
BlockLocation
包含block长度,所在datanode列表和block在file中的offset信息。
BufferedFSInputStream
通过缓存优化FSInputStream读取。
ChecksumFileSystem
抽象的校验和文件系统,为每个裸文件创建一个校验和文件,在客户端生成和验证校验和。
CommonConfigurationKeys
包含common中使用配置属性key。
ContentSummary
目录或文件概要信息(长度、目录/文件数目、配额、已使用空间等)。
DF
文件系统磁盘空间用量统计shell。使用linux df命令获取mount点和java.io.File作为空间工具。
DU
文件系统磁盘空间用量统计shell。使用linux du命令获取mount点和java.io.File作为空间工具。
FileChecksum
表示文件校验和的抽象类。
FileStatus
文件的客户端信息(路径、长度、块、修改/访问时间、权限、用户等)抽象类。
FileSystem
文件系统抽象类。fs包含一个指示的唯一url、配置和用户。
· 管理创建fs实例。
· 包含一个静态fs cache,以 url、创建时分配唯一的long id和UserGroupInformation为key。
· 对fs中文件/目录的操作由实现类实现。
FileUtil
文件处理工具类。
FilterFileSystem
fs的代理类,内部封装一个fs。所有继承自fs的方法均由封装的方式实现。
FSDataInputStream
extends DataInputStream implementsSeekable, PositionedReadable,封装一个实现Seekable和PositionedReadable的InputStream,相关方法均由这个InputStream实现。
FSDataOutputStream
extends DataOutputStream implementsSyncable,内部类PositionCache(extends FilterOutputStream)包含一个FileSystem.Statistics引用(便于对写入数据进行统计)和记录流position的long。
FSInputChecker
extends FSInputStream,通过校验和验证输入流读取是否正确的抽象类。
FSInputStream
extends InputStream implements Seekable,PositionedReadable,有按位置读取功能的输入流抽象类。
FSOutputSummer
extends OutputStream,生成写出数据的校验和的抽象类。
FsShell
提供fs命令。
FsShellPermissions
提供文件权限相关命令。
FsStatus
表示fs容量信息。
FsUrlConnection
fs连接,通过连接来获取fs的输入流。
FsUrlStreamHandler
extends URLStreamHandler,处理fs url的类,和fs配置相关。
FsUrlStreamHandlerFactory
FsUrlStreamHandler工厂类。
GlobExpander
将正则表达式表示的文件路径pattern分隔为子一级的pattern,参见TestGlobExpander。
HarFileSystem
用来进行归档的fs。
/**
* This is an implementation of the HadoopArchive
* Filesystem. This archive Filesystemhas index files
* of the form _index* and has contents of theform
* part-*. The index files store the indexes of the
* real files. The index files are of the form_masterindex
* and _index. The master index is a level ofindirection
* in to the index file to make the look upsfaster. the index
* file is sorted with hash code of the paths thatit contains
*and the master index contains pointers to thepositions in
* index for ranges of hashcodes.
*/
LocalDirAllocator
通过轮叫(RoundRobin)为创建文件分配磁盘。根据请求的空间大小,依次从待选磁盘中选择有足够空间的磁盘进行分配。
此实现中磁盘实际上为配置中的目录;提供每个JVM可以使用多个allocator的功能;但没有考虑磁盘只读和在写入文件时空间用完的情况(磁盘被多处理共享)。
LocalFileSystem
本地fs。
MD5MD5CRC32FileChecksum
使用md5和crc32的校验和。
Path
文件/目录在fs中的路径。
PathFilter
路径过滤器接口。
PositionedReadable
可指定位置读接口。
RawLocalFileSystem
?裸本地 fs。
Seekable
提供按位置查找功能的接口。
Syncable
提供同步缓存功能的接口。
Trash
回收站。
将删除的文件移动到用户的回收站目录(用户home目录下的.Trash子目录,移动都是通过通过rename实现)。文件首先被移动到.Trash目录的current目录中。回收站会定期checkpoint,checkpoint时将current目录中的文件移动到带checkpoint时间目录中,同时将超过一定期限的checkpoint目录删除。Emptier线程定期执行checkpoint.
ftp
FTPFileSystem
ftp fs,后台由apache ftp client实现,也就是对一个apacheftp进行了fs包装。
FTPInputStream
处理ftp fs的FSInputStream。
kfs
IFSImpl
Kfs适配操作接口。
KFSImpl
Kfs适配操作实现,内部封装一个KfsAccess,将KfsAccess操作和实现fs所需操作进行适配。
KFSInputStream
处理kfs的FSInputStream,内部封装一个KfsInputChannel,内部对KfsInputChannel操作和FSInputStream所需操作进行适配。
KFSOutputStream
处理kfs的OutputStream,内部封装一个KfsInputChannel,内部对KfsInputChannel操作和OutputStream所需操作进行适配。
KosmosFileSystem
通过kfs实现的fs,内部封装一个IFSImpl来实现fs相关操作。
permission
ChmodParser
处理chmod命令的分析器。
FsAction
处理读/写/执行action的枚举类。
FsPermission
处理文件/目录权限。
PermissionParser
处理文件/目录权限的分析器,子类有ChmodParser和UmaskParser。
PermissionStatus
权限状态,包括用户名,组名和FsPermission。
UmaskParser
处理umask命令的分析器。
s3
和s3native区别在于是基于块的,而后者是基于文件,文件大小限制为5G。
Block
block元数据,id和length。
FileSystemStore
存储和检索block和node的设施接口。
INode
文件元数据,包括类型(文件/目录)和相关block,不包括文件path。path由FileSystemStore处理后通过S3Service保存。
Jets3tFileSystemStore
FileSystemStore实现类,对应s3中的一个bucket。
内部封装一个S3Service和一个S3Bucket,通过S3Service操纵S3Bucket实现接口相关操作。
MigrationTool
将数据从旧版本s3 fs迁移到新版本fs的工具。迁移通过重写block元数据实现,不会影响到数据。
S3Credentials
从fs uri或配置中提取AWS证书。
S3FileSystem
s3 fs,内部封装一个FileSystemStore实现相关操作。
S3InputStream
s3 fs的FSInputStream,对应一个INode(文件)。
S3OutputStream
s3 fs的OutputStream,对应一个INode(文件)。
s3native
FileMetadata
存储在NativeFileSystemStore中的文件元数据,包括key(path),长度和最后修改时间。
Jets3tNativeFileSystemStore
NativeFileSystemStore实现类,实现同Jets3tFileSystemStore类似。
NativeFileSystemStore
基于key对文件进行管理的接口。
NativeS3FileSystem
s3native fs,实现同S3FileSystem类似。
PartialListing
包含以指定前缀(一般就是目录名)下所有FileMetadata信息。
shell
Command
fs命令抽象类。
CommandFormat
分析命令参数,验证参数格式。
CommandUtils
目前只有格式化count命令描述的工具方法。
Count
Count the number of directories, files,bytes, quota, and remaining quota.
fs count命令处理。