hdfs的文件读取与写入流程

转载 2018年04月15日 15:59:47


HDFS客户端文件读取过程如下:

  1. 应用程序通过HDFS客户端向NameNode发生远程调用请求。
  2. NameNode收到请求之后,返回文件的块列表信息。块列表信息中包含每个block拷贝的datanode地址。
  3. HDFS 客户端会选择离自己最近的那个拷贝所在的datanode来读取数据。
  4. 数据读取完成以后,HDFS客户端关闭与当前的datanode的链接。

如果文件没有读完,HDFS客户端会继续从NameNode获取后续的block信息,每读完一个块都需要进行校验和验证,如果读取出错,HDFS客户端会通知NameNode,重新选择一个该block拷贝的datanode读数据。


HDFS客户端文件写入过程如下:

1.应用程序通过HDFS客户端向NameNode发起远程过程调用请求。 
2.NameNode检查要创建的文件是否存在以及是否有足够的权限。 
3.如果检测成功,NameNode会返回一个该文件的记录,否则让客户端抛出异常。 
4.HDFS客户端把文件切分为若干个packets,然后向NameNode申请新的blocks存储新增数据。 
5.NameNode返回用来存储副本的数据节点列表。 
6.HDFS客户端把packets中的数据写入所有的副本中。 
7.最后一个节点数据写入完成以后,客户端关闭。

文件写入中的副本策略:

1) Hadoop默认副本策略是将第一个复本放在运行客户端的节点上,即上传文件或者写入文件所在的datanode节点上。如果客户端不在集群中,则就随机选择一个节点。

2) 第二个复本放在与第一个复本不同且随机的另外的机架上。

3) 第三个复本与第二个复本放在相同的机架上。

SWT:AWT和SWING的强大竞争者

SWT:AWT和SWING的强大竞争者        内容: 第一个SWT程序 剖析SWT API 更复杂的程序 系统资源的管理 线程问题 SWT的扩展:JFace 参考资料 关于作者 Al...
  • tar
  • tar
  • 2003-06-13 16:03:00
  • 1032

HDFS读写文件流程

1.HDFS写流程: 客户端要向HDFS写数据,首先要跟namenode通信以确认可以写文件并获得接收文件block的datanode,然后,客户端按顺序将文件逐个block传递给相应datanode...
  • qq_20641565
  • qq_20641565
  • 2016-11-24 23:49:50
  • 7658

HDFS文件读取和写入

读取文件: 一:读取方式一 写入哪个DataNode是不确定的,主要寻找读取速度较快的DataNode; 怎么找到这种DataNode,从以下几个方面:是否有本机位置,本机架位置,本机房位置; 依次...
  • heishu007
  • heishu007
  • 2017-06-21 18:43:53
  • 450

hdfs工作机制及读写数据简要流程图

hdfs工作机制及读写数据简要流程图
  • bingo_liu
  • bingo_liu
  • 2017-02-26 09:44:28
  • 913

[HDFS] 浅析HDFS文件读取、写入

[HDFS] 浅析HDFS文件读取、写入
  • yangjjuan
  • yangjjuan
  • 2017-06-06 10:58:53
  • 973

HDFS 读写数据详细步骤

读取数据: 如图所示: client 要从datanode 上读取file ,而file是由block1 和block2 组成的。其中block1 在datanode 的存储位置是 host2...
  • u010414589
  • u010414589
  • 2016-05-04 19:53:30
  • 687

HDFS写入和读取过程

HDFS写入和读取过程 一、HDFS HDFS全称是Hadoop Distributed System。HDFS是为以流的方式存取大文件而设计的。适用于几百MB,GB以及TB,并写一次...
  • guyuealian
  • guyuealian
  • 2016-07-09 18:26:03
  • 2751

文件写入HDFS的流程

博客分类: 假设HDFS客户端为node11,用户A想要将文件apache.log写到HDFS上,该文件大小为100MB,假设用户配置的文件block大小为64MB,请结合你的理解,...
  • dotedy
  • dotedy
  • 2015-12-14 18:51:44
  • 725

HDFS读写文件的过程

HDFS写入流程 1、 使用HDFSᨀ供的客户端Client, 向远程的Namenode发起RPC请求 2、 Namenode会检查要创建的文件是否已经存在, 创建者是否有权限进行操作, 成功则会...
  • sunspeedzy
  • sunspeedzy
  • 2017-04-03 14:34:14
  • 1033

HDFS写数据的过程

HDFS写数据:          客户端(rpc调用)链接上namenode          客户端有一个文件aaa.avi,要上传:                    1、先要向nam...
  • WCD128
  • WCD128
  • 2017-03-30 16:42:02
  • 996
收藏助手
不良信息举报
您举报文章:hdfs的文件读取与写入流程
举报原因:
原因补充:

(最多只允许输入30个字)