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通透性的体现:让原本通过网络访问的文件,就像是在操作本地。
转载于:https://blog.51cto.com/hellowode/1367616