继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Java大数据学习~Hadoop初识二读取与写入流程

慕虎7371278
关注TA
已关注
手记 1307
粉丝 202
获赞 878

昨天的文章我们简单的说了下Hadoop中HDFS的内容,今天我们来了解下HDFS的 都写入流程。当然该流程也是一个经常面试遇到的一个问题。

HDFS的 写入流程

在HDFS客户端想要往HDFS写入文件,流程如下


webp

写入数据流程图

  1. 首先客户端发送请求,携带者配置文件信息,还有文件的路径

  2. 访问到NameNode后,NameNode根据文件路径,去查看该路径是否存在,不存在继续将文件进行Block切割还有DataNode信息。存在追缴内容到对应的文件上
    3.客户端接收到NameNode信息后,根据返回的Block信息访问到最近的DataNode上,打开Socket链接,进行访问,然后一个DataNode会接着链接第二个DataNode,第二个会继续链接第三个将pipeline链接构成,再返回给客户端。

  3. client开始传输数据到最近的DataNode上传输第一个Block,按照一个包packet为64K的大小进行写入,在写入的时候会进行数据校验,防止数据写入出现错误的问题。然后形成链式操作到第三个datanode上结束。

  4. 一个Block传输完毕后,再回接着传输第二个Block。到对应的DataNode上。
    整个流程就会循环的 执行,传输完毕整个文件。

  5. 最后关闭链接的访问,告知namenode完成任务。

HDFS的读取过程

webp

读取过程

  1. 客户端访问NameNode,根据发送的路径进行检查。

  2. 存在 ,返回给客户端Block还有存储的DataNode信息。不存在,返回给客户端异常信息

  3. 客户端根据发送的Block还有DataNode信息,与其建立Socket链接,DataNode开始发送数据,还是按照packet来作为单位进行校验。

  4. 本地客户端进行接收。先缓存下来、然后根据块进行数据汇总。完成读取操作。

  5. 最后关闭链接的访问。



作者:LuckQI
链接:https://www.jianshu.com/p/c7459cf3d2be


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP