我的hadoop集群是三台服务器,分别为hadoop101,hadoop102,hadoop103。其中,namenode部署在hadoop101上面,三台服务器分别部署一个datanode,secondaryNamenode在Hadoop103上。
一,客户端向NameNode申请读取某文件。
二,NameNode返回目标文件的元数据
三,开始读取第一块,这里利用就近原则挑选一台存着三份该数据块的服务器的其中之一,进行读取
四,后续开始随机选取其他数据块所在的服务器
五,读取完成,读取的块先在本地做缓存,然后接收完成之后写入目标文件