本节我们将着重学习客户端是如何读取HDFS上的数据的操作过程。
查看HDFS上的文件内容的命令行操作:
hadoop fs -cat example.txt
整个“读”流程如下图所示:
1)、客户端通过FileSystem.open()打开文件,对应的HDFS具体的文件系统DistributedFileSystem创建一个输出流FSDataInputStream,返回给客户端;
2)、到NameNode节点,获取要读文件的开始部分的数据块的保存位置,即上图中的第2步(NameNode节点中保存这这些数据块副本的DataNode节点的地址,这些数据节点根据他们与客户端的位置进行了简单的排序);
3)、客户端端调用FSDataInputStream会和里客户端最近的DataNode节点建立连接,由FSDataInputStream.read()方法读取文件数据;当达到该块儿的末端时,FSDataInputStream会关闭和当前DataNode节点的连接,并通过上图中的第5步获得下一数据块的节点信息,寻找最佳的数据节点,建立连接并再次通过FSDataInputStream.read()方法读取数据;
4)、当度全完所有的文件信息后,关闭当前的输入流,完成读操作。
在客户端读取文件时,如果DataNode数据节点发生了错误,如节点停机或网络故障,那么客户端会尝试写一个数据块副本的位置,同时会也记住出现故障的DataNode节点,不会在进行没用的尝试;但是入如果是数据块损坏,南无他会将这个信息包装到DataNode向NameNode节点发出的“心跳”中,向NameNode节点告知这一信息,同时,尝试从别的DataNode节点中读取这一个数据块的内容。
- 大小: 63 KB
分享到:
相关推荐
Hadoop 技术内幕:深入解析Hadoop Common 和HDFS 架构设计与实现原理
这是hdfs的基础知识,适合初学者了解hdfs是怎么分布式存储数据和怎么写入、读出的等等
Hadoop技术内幕:深入解析Hadoop Common 和HDFS 架构设计与实现原理 (大数据技术丛书) 原版书籍,非扫描版,使用kindle可以打开,也可以转换为epub使用ibooks打开
hadoop(二:hadoop3.3.0搭建,HDFS shell 命令,MapReduce程序)
《Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理》由腾讯数据平台的资深Hadoop专家、X-RIME的作者亲自执笔,对Common和HDFS的源代码进行了分析,旨在为Hadoop的优化、定制和扩展提供原理性的指导。...
一、实验目的 熟悉hdfs命令行基本操作 二、实验环境 Windows 10 VMware Workstation Pro虚拟机 Hadoop环境 Jdk1.8 三、实验内容 1:hdfs常见命令: ... (9)删除hdfs文件夹:hdfs dfs -rm -r /文件夹名
Hadoop学习总结之一:HDFS简介
《Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理》还从源代码实现中对分布式技术的精髓、分布式系统设计的优秀思想和方法,以及Java语言的编码技巧、编程规范和对设计模式的精妙运用进行了总结和...
Hadoop学习总结之二:HDFS读写过程解析
《Hadoop 2.X HDFS源码剖析》以Hadoop 2.6.0源码为基础,深入剖析了HDFS 2.X中各个模块的实现细节,包括RPC框架实现、Namenode实现、Datanode实现以及HDFS客户端实现等。《Hadoop 2.X HDFS源码剖析》一共有5章,其中...
java操作Hadoop源码之HDFS Java API操作-上传文件,附带所需全部jar包,欢迎下载学习。
Hadoop技术内幕:深入解析YARN架构设计与实现原理 高清完整中文版PDF下载
Maven坐标:org.apache.hadoop:hadoop-hdfs:2.6.5; 标签:apache、hdfs、hadoop、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档...
Maven坐标:org.apache.hadoop:hadoop-hdfs:2.7.3; 标签:apache、hdfs、hadoop、jar包、java、API文档、中英对照版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化...
Maven坐标:org.apache.hadoop:hadoop-hdfs:2.7.3; 标签:apache、hdfs、hadoop、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档...
Hadoop技术内幕:深入解析Hadoop Common和HDFS架构设计与实现原理(扫描版)
Hadoop技术内幕 深入解析HADOOP COMMON和HDFS架构设计与实现原理
• HDFS(Hadoop Distributed File System)默认的最基本的存储单位是64M的数据块。 • 和普通文件系统相同的是,HDFS中的文件是被分成64M一块的数据块存储的。 • 不同于普通文件系统的是,HDFS中,如果一个文件...
赠送jar包:hadoop-hdfs-client-2.9.1.jar 赠送原API文档:hadoop-hdfs-client-2.9.1-javadoc.jar 赠送源代码:hadoop-hdfs-client-2.9.1-sources.jar 包含翻译后的API文档:hadoop-hdfs-client-2.9.1-javadoc-...
数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统 。 是一种允许文件...