1、FileSystem.create();(FileSystem是一个抽象类)

2、DistributedFileSystem.create();(实现了FileSystem)

3、DFSClient.create();(客户端,RPC的客户端)

4、DFSClient的内部类DFSOutputStream类的构造方法(干了两件事)

第一件事:在hdfs中创建一个文件

   5.1构造方法中有namenode.create()

   5.2ClientProtocal(是NameNode的实例对象).create()

   5.3NameNode.create();

第二件事:

   6.1DFSClient类的内部类DataStreamr类的run方法,(向NameNode申请blockid和block的位置)

   6.2DataNode节点的block文件中




-------------------------------------------

这实际上也是hdfs通透性的体现:让原本通过网络访问的文件,就像是在操作本地。