以下代码都是根据在看hadoop视频的时候所用的代码,以下分析是结合视频讲解和我看视频的理解所写的文章。如有侵权请与我联系~
一.通过跟踪这段源码来探究hdfs的下载数据的源码分析。
其中包括程序中怎么通过读取conf来获得fs实例,然后fs实例怎么通过rpc机制来从namenode上拿到元数据信息,以及怎么通过rpc机制从datanode上拿到数据的。
跟踪代码如下:
跟踪进入FileSystem
通过getDefaultUri(conf)获得前面代码中设置的主机的uri地址,然后再调用重载的get方法。
以下是重载的get方法内容:
①getScheme() scheme的值是hdfs,getAuthority是获得namenode的主机名和端口号。
如果scheme==null 以及authority==null 就返回default fs也就是本地文件系统