HDFS目前提供了三个客户端接口:DistributedFileSystem、FsShell和DFSAdmin。DistributedFileSystem为用户开发基于HDFS的应用程序提供了API,FsShell工具使用户可以通过HDFS Shell命令执行常见的文件系统操作,例如创建文件、删除文件、创建目录等。DFSAdmin则向系统管理员提供了管理HDFS的工具,例如升级、管理安全模式等操作。这三个客户端接口都通过直接或者间接地持有DFSClient对象的引用,然后调用DFSClient提供的接口方法对HDFS进行管理和操作的。DFSClient类封装了HDFS复杂的交互逻辑,对外提供了简单的接口。更形象的请看下图:
接下来,我们将分四个模块按顺序进行讲解:
第一个模块:DistributedFileSystem类代码分析
第二个模块:FsShell类代码分析
第三个模块:DFSAdmin类代码分析
第四个模块:DFSCient类代码分析
好了,开启我们的征程吧......