HDFS读取文件步骤
来源:互联网 发布:艾克里里变声软件 编辑:程序博客网 时间:2024/04/30 05:16
- client调用FileSystem.open(),该FileSystem指向的实例是DistrbutedFileSystem(DFS),它通过RPC请求到Namenode.
- Namenode收到请求后,对于每一个块返回存有该副本的Datanode地址。并且依照“网络拓扑”来排序。(就近原则)
- DFS获取到BlockLocations后,可以根据当前读取偏移量计算指定DataNode并进行通讯,返回一个FSDataInputStream,该对象管理DataNode和NameNode的I/O, 客户端反复调用stream.read()方法获取数据 (这步包含了权威指南的3,4步骤)。
- 到达块的末端时,stream关闭与当前交互的DataNode的连接,继续寻找下一个最佳的DataNode再执行步骤3操作。
- client从stream读取数据时,块是按照打开stream和DataNode的顺序读取的,
它也会询问NameNode来检索下一批数据块DataNode的位置。(《权威指南第三版》76页倒数第4行描述有误,事实上一次性获取了完整的BlockLocations) 一旦client读取完成,就对stream执行close操作
上述流程是在正常读取,并且没有发生故障的理想情况下。
补充:
总结:
这个设计的重点是,NameNode告知客户端每个块中最佳的DataNode,并让客户端直接连接到该DataNode检索数据。由于数据流分散在集群中的所有DataNode,所以这种设计能使HDFS可扩展到大量的并发客户端。同时,NameNode只需要响应块位置的请求(这些信息存储在内存中,所以非常高效),无须响应数据请求,否则随着客户端数量的增长,NameNode会很快成为瓶颈。
0 0
- HDFS读取文件步骤
- HDFS-文件读取流程
- HDFS读取文件过程
- 本地读取HDFS文件
- Spark 读取HDFS文件
- HDFS文件读取流程
- Spark读取HDFS文件
- HDFS文件读取
- Scala读取HDFS文件
- [HDFS] 浅析HDFS文件读取、写入
- 最简单HDFS读取文件
- HDFS中读取文件总结
- Hdfs本地短路读取文件
- HDFS文件写入与读取
- 读取hdfs上的文件
- HDFS文件写入与读取
- HDFS文件读取和写入
- HDFS 读取文件和存储文件
- Linux下boost库的安装
- 随记2015-05-27
- 南宁肛周脓肿如何治疗
- 南宁初期肛周脓肿疼吗
- 九度oj 1521 二叉树的镜像
- HDFS读取文件步骤
- 南宁治疗肛周脓肿的药
- android网络应用开发完全解析
- 内部邮件管理的数据库设计和dwz的批量处理
- 【十一】递归与回溯--解决8皇后问题
- 彻底删除jdk
- 南宁肛周脓肿手术复发
- php线程安全版本与非线程安全版本
- 南宁肛周脓肿切除疼吗