HDFS写流程

写详细步骤:

  1. 客户端向NameNode发出写文件请求。
  2. 检查是否已存在文件、检查权限。若通过检查,直接先将操作写入EditLog,并返回输出流对象。 (注:WAL,write ahead log,先写Log,再写内存,因为EditLog记录的是最新的HDFS客户端执行所有的写操作。如果后续真实写操作失败了,由于在真实写操作之前,操作就被写入EditLog中了,故EditLog中仍会有记录,我们不用担心后续client读不到相应的数据块,因为在第5步中DataNode收到块后会有一返回确认信息,若没写成功,发送端没收到确认信息,会一直重试,直到成功)
  3. client端按128MB的块切分文件。
  4. client将NameNode返回的分配的可写的DataNode列表和Data数据一同发送给最近的第一个DataNode节点,此后client端和NameNode分配的多个DataNode构成pipeline管道,client端向输出流对象中写数据。client每向第一个DataNode写入一个packet,这个packet便会直接在pipeline里传给第二个、第三个…DataNode。 (注:并不是写好一个块或一整个文件后才向后分发)
  5. 每个DataNode写完一个块后,会返回确认信息。 (注:并不是每写完一个packet后就返回确认信息,个人觉得因为packet中的每个chunk都携带校验信息,没必要每写一个就汇报一下,这样效率太慢。正确的做法是写完一个block块后,对校验信息进行汇总分析,就能得出是否有块写错的情况发生)
  6. 写完数据,关闭输输出流。
  7. 发送完成信号给NameNode。 (注:发送完成信号的时机取决于集群是强一致性还是最终一致性,强一致性则需要所有DataNode写完后才向NameNode汇报。最终一致性则其中任意一个DataNode写完后就能单独向NameNode汇报,HDFS一般情况下都是强调强一致性)

读详细步骤:

  1. client访问NameNode,查询元数据信息,获得这个文件的数据块位置列表,返回输入流对象。
  2. 就近挑选一台datanode服务器,请求建立输入流 。
  3. DataNode向输入流中中写数据,以packet为单位来校验。
  4. 关闭输入流

Hadoop-hdfs读写流程相关推荐

  1. 大数据系列文章-Hadoop的HDFS读写流程(二)

    在介绍HDFS读写流程时,先介绍下Block副本放置策略. Block副本放置策略 第一个副本:放置在上传文件的DataNode:如果是集群外提交,则随机挑选一台磁盘不太满,CPU不太忙的节点. 第二 ...

  2. java基础巩固-宇宙第一AiYWM:为了维持生计,大数据Hadoop之HDFS分布式文件系统(HDFS读写流程、主从集群两种问题“单点故障”及“压力过大内存受限”、HDFS的架构设计)~整起

    Hadoop之HDFS 目录 一.大数据 二.HADOOP 三.HDFS 1.HDFS基本概念 2.HDFS的架构设计 3.HDFS自己对于上面两种数据持久化技术的实现: 4.HDFS读写流程 5.H ...

  3. hdfs读写流程_深度探索Hadoop分布式文件系统(HDFS)数据读取流程

    一.开篇 Hadoop分布式文件系统(HDFS)是Hadoop大数据生态最底层的数据存储设施.因其具备了海量数据分布式存储能力,针对不同批处理业务的大吞吐数据计算承载力,使其综合复杂度要远远高于其他数 ...

  4. hdfs读写流程_必须掌握的分布式文件存储系统—HDFS

    必须掌握的分布式文件存储系统-HDFS​mp.weixin.qq.com HDFS(Hadoop Distributed File System)分布式文件存储系统,主要为各类分布式计算框架如Spar ...

  5. hdfs读写流程_一篇文章搞清楚 HDFS 基本原理

    随着互联网的发展,数据日益增多,增长超过了单机能够处理的上线,数据如何存储和处理成为了科技公司的难题,随着google的三篇论文的发布,大家终于找到了一个方案-分布式文件系统+MapReduce.Ha ...

  6. HDFS读写流程以及多节点、单节点磁盘负载均衡

    副本放置策略 生产上建议3个副本. 第一个副本: 假如上传节点为DN节点,优先放置本节点:否则就随机挑选一台磁盘不太慢,CPU不太繁忙的节点. 第二个副本: 放置在于第一个副本的不同的机架的节点上 第 ...

  7. Hadoop:HDFS读写流程

    文章目录 一.HDFS写数据流程 1.1 剖析文件写入 1.2 副本存储节点选择 二.HDFS读数据流程 一.HDFS写数据流程 1.1 剖析文件写入 HDFS写数据流程,如图所示: 客户端通过DIs ...

  8. hdfs读写流程_一文读懂HDFS分布式存储框架分析

    一文读懂HDFS分布式存储框架分析 HDFS是一套基于区块链技术的个人的数据存储系统,利用无处不在的私人PC存储空间及便捷的网络为个人提供数据加密存储服务,将闲置的存储空间利用起来,服务于正处于爆发期 ...

  9. HDFS读写流程(重点,有些面试官总喜欢问到,记录一下)

    写数据流程 ①服务端启动HDFS中的NN和DN进程 ②客户端创建一个分布式文件系统客户端,由客户端向NN发送请求,请求上传文件 ③NN处理请求,检查客户端是否有权限上传,路径是否合法等 ④检查通过,N ...

  10. HDFS 读写流程简述

    参考:https://blog.csdn.net/litianxiang_kaola/article/details/70984777 https://blog.csdn.net/zhanglh046 ...

最新文章

  1. 微软开源项目NeuronBlocks - 像搭积木一样构建NLP深度学习模型
  2. jQuery EasyUI Datagrid组件的完整的基础DOM结构
  3. Ucosii消息邮箱使用
  4. hosts文件不起作用
  5. iOS_TableView的相关操作
  6. 周杰伦新歌《说好不哭》上线,程序员哭了......【华为云分享】
  7. Java开发快速上手
  8. 查询作者名长度大于8的 sql语言_从零学会SQL-入门
  9. hdu 3371 Connect the Cities(prim算法)
  10. 检索 COM 类工厂中 CLSID 为 {00024500-0000-0000-C000-000000000046} 的组件失败,原因是出现以下错误: 80070005 拒绝访问...
  11. linux计算器shell,linux – Bash Shell中的BMI计算器
  12. 职高学计算机平面设计要买电脑吗,职高生学好计算机平面设计课之我见
  13. win7 微信 代理服务器设置,手把手为你讲解win7系统电脑登录多个微信的详细方法...
  14. 记录学习历程-----游戏编程
  15. 国家级非遗传承人高清旺《四大美人》皮影数字藏品惊艳亮相!
  16. 【元胞自动机】基于元胞自动机模拟交通事故道路通行量matlab源码
  17. 开关电源学习笔记7 --- DC-DC变换器的储能电感设计之磁芯及气隙
  18. 恒指长期情况研判(期指来判断)
  19. Windows安装lua,并使用SciTE进行编辑
  20. 【Python3脚本分享】三个常用图片处理脚本(镜像处理,gif分解,多图合并)

热门文章

  1. 抗疫三年,“医”路有你
  2. 芴甲氧羰酰基-氨基-聚乙二醇-巯基吡啶Fmoc-NH-PEG-OPSS
  3. P6771 [USACO05MAR]Space Elevator 太空电梯 题解
  4. 将xls文件转化为xlsx文件
  5. 人脸识别之人脸检测(三)--Haar特征原理及实现
  6. hihocoder 1569 [Offer收割]编程练习赛25 : 无限巧克力谜题
  7. JavaScript18——触屏事件
  8. 基于Hadoop的疫情信息分析与可视化研究——包含大屏可视化及预测算法
  9. 论数据湖与数据仓库一体化设计的必要性
  10. Fre:又一个小而美的前端MVVM框架