一、FileSystem.create();(FileSystem是一個抽象類)
node
二、DistributedFileSystem.create();(實現了FileSystem)網絡
三、DFSClient.create();(客戶端,RPC的客戶端)ide
四、DFSClient的內部類DFSOutputStream類的構造方法(幹了兩件事)對象
第一件事:在hdfs中建立一個文件it
5.1構造方法中有namenode.create()class
5.2ClientProtocal(是NameNode的實例對象).create()方法
5.3NameNode.create();
客戶端
第二件事:di
6.1DFSClient類的內部類DataStreamr類的run方法,(向NameNode申請blockid和block的位置)
文件
6.2DataNode節點的block文件中
-------------------------------------------
這實際上也是hdfs通透性的體現:讓本來經過網絡訪問的文件,就像是在操做本地。