• hadoop上传和下载文件过程【博学谷学习记录】


    1.hadoop上传文件过程

            HDFS客户端通过对DistributedFileSystem 对象调用create()请求创建文件。
            DistributedFileSystem对namenode进行RPC调用,请求上传文件。namenode执行各种检查判断:目标文件是否存在、父目录是否存在、客户端是否具有创建该文件的权限。检查通过,namenode就会为创建新文件记录一条记录。否则,文件创建失败并向客户端抛出一个IOException。
            DistributedFileSystem为客户端返回FSDataOutputStream输出流对象。由此客户端可以开始写入数据。FSDataOutputStream是一个包装类,所包装的是DFSOutputStream。
            在客户端写入数据时,DFSOutputStream将它分成一个个数据包(packet 默认64kb),并写入一个称之为数据队列(data queue)的内部队列。DFSOutputStream有一个内部类做DataStreamer,用于请求NameNode挑选出适合存储数据副本的一组DataNode。这一组DataNode采用pipeline机制做数据的发送。默认是3副本存储。
            DataStreamer将数据包流式传输到pipeline的第一个datanode,该DataNode存储数据包并将它发送到pipeline的第二个DataNode。同样,第二个DataNode存储数据包并且发送给第三个(也是最后一个)DataNode。
            DFSOutputStream也维护着一个内部数据包队列来等待DataNo

  • 相关阅读:
    分布式.常用架构和服务拆分
    Logback
    4K Star , Github上照片转漫画最强项目
    ABAP内表操作
    办公软件入门--word01
    Linux中的软件管家——yum
    目标与学习方向
    Java 全栈体系(四)
    SpringBoot中自动装配机制
    【数据结构与算法】stack栈的介绍和实现、使用栈来实现中缀表达式求值
  • 原文地址:https://blog.csdn.net/qq331570870/article/details/126810785