本节我们将着重学习客户端是如何读取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技术内幕:深入解析YARN架构设计与实现原理》是一本专注于Hadoop生态系统中资源管理和调度核心组件——YARN(Yet Another Resource Negotiator)的专著。这本书全面介绍了YARN的架构、设计思想以及实际操作...
《Hadoop源码分析——HDFS部分》 Hadoop,作为开源大数据处理的基石,其核心组件之一就是HDFS(Hadoop Distributed File System),这是一个高度容错性的分布式文件系统,设计用于运行在廉价硬件上,能够处理大规模...
《Hadoop技术内幕:深入解析HADOOP COMMON和HDFS架构设计与实现原理》这本书是IT领域的经典之作,专门探讨了Hadoop生态系统中的两大核心组件——Hadoop Common和HDFS(Hadoop Distributed File System)的架构设计与...
《HDFS设计与操作——基于Hadoop的Java实践》 Hadoop分布式文件系统(HDFS)是Apache Hadoop项目的核心组件之一,它为大规模数据处理提供了可扩展、高容错性的存储解决方案。本资料集围绕“hdfs_design.rar”这个...
根据提供的文件信息,本文将深入解析《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》这本书中的关键知识点,主要包括Hadoop的核心组件——MapReduce的设计理念、架构组成及其具体的实现原理。 ### Hadoop...
在本文中,我们将深入探讨如何从零开始在CentOS操作系统上安装和配置Hadoop,这是一个分布式文件系统,为大数据处理提供了强大的支持。首先,我们需要理解Hadoop的基本概念和它的核心组件。 Hadoop是由Apache软件...
本次实验旨在通过对Hadoop分布式文件系统(HDFS)进行运行测试,深入理解并掌握Hadoop及其核心组件之一——HDFS的基本原理与操作方法。随着大数据时代的到来,如何高效地存储和处理海量数据成为了一个重要的技术挑战...
《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》是关于大数据处理领域的一本经典著作,专注于探讨Hadoop的核心组件——MapReduce。MapReduce是Google提出的一种分布式计算模型,被广泛应用于海量数据的...
《Hadoop技术内幕:深入解析HADOOP COMMON和HDFS架构设计与实现原理》是一本专为理解Hadoop生态系统核心组件——Hadoop Common和HDFS(Hadoop Distributed File System)设计与实现细节而编写的书籍。这本书以高清、...
Hadoop是Apache软件基金会开发的一个开源分布式计算框架,主要由Hadoop Distributed File System (HDFS)和MapReduce两部分组成。HDFS提供高容错性的分布式存储,可以将大文件分割成多个块并存储在多台服务器上,确保...
本课程将深入探讨Hadoop的核心组件之一——HDFS(Hadoop Distributed File System),帮助学员全面理解和掌握这一强大的分布式文件系统。 HDFS是Apache Hadoop项目的重要组成部分,设计目标是存储和处理PB级别的...
- 书籍:《Hadoop权威指南》、《Hadoop实战》等深入学习Hadoop生态系统。 总结,掌握Hadoop高级编程不仅是提升大数据处理能力的关键,也是解决实际业务挑战的重要手段。通过不断学习和实践,可以有效地构建和实现...
《Hadoop大数据处理实战》是康开锋撰写的一本深入探讨Hadoop技术的书籍,旨在帮助读者理解并掌握Hadoop在大数据处理中的实际应用。这本书的内容涵盖了Hadoop生态系统的核心组件,以及如何利用这些组件解决实际问题。...
实验二:“熟悉常用的HDFS操作”旨在帮助学习者深入理解Hadoop分布式文件系统(HDFS)在大数据处理中的核心地位,以及如何通过Shell命令和Java API进行高效操作。HDFS在Hadoop架构中扮演着存储大数据的核心角色,为...
【描述】:描述指出这份资料包含了大量的关于Hadoop、Hive和Hbase的学习材料,意味着它可能提供了全面且深入的知识点,适合初学者或有一定经验的开发者进行深入学习和提升。 【标签】:“hadoop”、“hive”、...
本笔记将全面探讨Hadoop的核心组件——HDFS(Hadoop Distributed File System)和MapReduce。 一、HDFS详解 1. HDFS架构:HDFS由NameNode、DataNode和Secondary NameNode三部分构成。NameNode负责元数据管理,如...
【标题】:“Hadoop学习整理的文档” 【文档概述】: Hadoop是Apache软件基金会开发的一个开源分布式计算框架,主要...通过深入学习和实践,你可以掌握处理大规模数据所需的技能,为大数据处理和分析打下坚实基础。
本文将深入探讨Hadoop的核心组件——HDFS(Hadoop Distributed File System)和MapReduce,以及它们如何协同工作,实现人工智能领域的高效数据处理。 一、Hadoop:大数据处理的基石 Hadoop是Apache基金会开发的一...
Hadoop 是一个开源的分布式计算框架,由Apache软件基金会维护,主要用于处理和存储海量数据。Hadoop的核心组件包括Hadoop Distributed File System (HDFS)和MapReduce,它们共同构建了一个容错能力强、可扩展性高的...