Hadoop之HDFS02【上传下载文件原理】

简介: Hadoop之HDFS02【上传下载文件原理】


文件上传原理

image.png

原理步骤:

 客户端要向HDFS写数据,首先要跟namenode通信以确认可以写文件并获得接收文件block的datanode,然后,客户端按顺序将文件逐个block传递给相应datanode,并由接收到block的datanode负责向其他datanode复制block的副本

   根namenode通信请求上传文件,namenode检查目标文件是否已存在,父目录是否存在

   namenode返回是否可以上传

   client请求第一个 block该传输到哪些datanode服务器上

   namenode返回3个datanode服务器ABC

   client请求3台dn中的一台A上传数据(本质上是一个RPC调用,建立pipeline ),

   A收到请求会继续调用B,然后B调用C,将整个pipeline建立完成,逐级返回客户端

   client开始往A上传第一个block(先从磁盘读取数据放到一个本地内存缓存),以packet为单位,

   A收到一个packet就会传给B,B传给C;A每传一个packet会放入一个应答队列等待应答

   当一个block传输完成之后,client再次请求namenode上传第二个block的服务器。

文件下载原理

image.png

 客户端将要读取的文件路径发送给namenode,namenode获取文件的元信息(主要是block的存放位置信息),返回给客户端,客户端根据返回的信息找到相应datanode逐个获取文件的block并在客户端本地进行数据追加合并从而获得整个文件.

   跟namenode通信查询元数据,找到文件块所在的datanode服务器

   挑选一台datanode(就近原则,然后随机)服务器,请求建立socket流

   datanode开始发送数据(从磁盘里面读取数据放入流,以packet为单位来做校验)

   客户端以packet为单位接收,先在本地缓存,然后写入目标文件


相关文章
|
9天前
|
存储 分布式计算 Hadoop
Hadoop的HDFS数据均衡
【6月更文挑战第13天】
24 3
|
15天前
|
存储 分布式计算 安全
|
13天前
|
SQL JSON 数据处理
实时计算 Flink版产品使用问题之把hdfs集群里的core-site.xml hdfs.xml两个文件放到flink/conf/目录下,启动集群说找不到hdfs,该如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
7天前
|
分布式计算 Hadoop Java
分布式系统详解--框架(Hadoop--JAVA操作HDFS文件)
分布式系统详解--框架(Hadoop--JAVA操作HDFS文件)
16 0
|
14天前
|
存储 分布式计算 Hadoop
Hadoop生态系统详解:HDFS与MapReduce编程
Apache Hadoop是大数据处理的关键,其核心包括HDFS(分布式文件系统)和MapReduce(并行计算框架)。HDFS为大数据存储提供高容错性和高吞吐量,采用主从结构,通过数据复制保证可靠性。MapReduce将任务分解为Map和Reduce阶段,适合大规模数据集的处理。通过代码示例展示了如何使用MapReduce实现Word Count功能。HDFS和MapReduce的结合,加上YARN的资源管理,构成处理和分析大数据的强大力量。了解和掌握这些基础对于有效管理大数据至关重要。【6月更文挑战第12天】
34 0
|
16天前
|
存储 分布式计算 Hadoop
大数据之hadoop3入门到精通(一)
大数据之hadoop3入门到精通(一)
|
15天前
|
分布式计算 Hadoop 分布式数据库
Hadoop生态系统介绍(二)大数据技术Hadoop入门理论系列之一----hadoop生态圈介绍
Hadoop生态系统介绍(二)大数据技术Hadoop入门理论系列之一----hadoop生态圈介绍
40 2
|
4天前
|
存储 分布式计算 大数据
Hadoop 生态圈中的组件如何协同工作来实现大数据处理的全流程
Hadoop 生态圈中的组件如何协同工作来实现大数据处理的全流程
|
11天前
|
存储 分布式计算 Hadoop
Spark和Hadoop都是大数据处理领域的重要工具
【6月更文挑战第17天】Spark和Hadoop都是大数据处理领域的重要工具
115 59
|
11天前
|
分布式计算 资源调度 Hadoop
大数据Hadoop集群部署与调优讨论
大数据Hadoop集群部署与调优讨论

相关实验场景

更多