美文网首页写作与程序大数据 爬虫Python AI Sql大数据
Java大数据学习~Hadoop初识二读取与写入流程

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

作者: 胖琪的升级之路 | 来源:发表于2018-06-19 23:42 被阅读27次

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

    HDFS的 写入流程

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


    写入数据流程图
    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的读取过程

    读取过程
    1. 客户端访问NameNode,根据发送的路径进行检查。
    2. 存在 ,返回给客户端Block还有存储的DataNode信息。不存在,返回给客户端异常信息
    3. 客户端根据发送的Block还有DataNode信息,与其建立Socket链接,DataNode开始发送数据,还是按照packet来作为单位进行校验。
    4. 本地客户端进行接收。先缓存下来、然后根据块进行数据汇总。完成读取操作。
    5. 最后关闭链接的访问。

    相关文章

      网友评论

        本文标题:Java大数据学习~Hadoop初识二读取与写入流程

        本文链接:https://www.haomeiwen.com/subject/yjwzeftx.html