【趣学程序】HDFS读写流程

2019-08-20 11:09:19 浏览数 (2)

HDFS

代码语言:javascript复制
    HDFS是Hadoop Distribute File System 的简称,

    也就是Hadoop的一个分布式文件系统。

    这里的“超大文件”是指几百MB、GB甚至TB级别的文件。

    HDFS存储的数据集作为hadoop的分析对象。

HDFS的组成

代码语言:javascript复制
    1.NameNode:存储文件的元数据,如文件名,

                文件目录结构,文件属性(创建时间,文件权限,文件大小)

                以及每个文件的块列表和块所在的DataNode等。

                类似于一本书的目录功能。


    2.DataNode:在本地文件系统存储文件块数据,

                以及块数据的校验和。

    3.SecondaryNameNode:

                用来监控HDFS状态的辅助后台程序,

                每隔一段时间获取HDFS元数据的快照。

HDFS写数据流程

代码语言:javascript复制
    1.HDFS客户端向NameNode请求是否可以上传该文件

    2.NameNode返回客户端可以上传该文件

    3.客户端请求NameNode索要文件上传DataNode路径

    4.NameNode返回客户端上传的DataNode地址

    5.客户端根据返回的DataNode,与其建立通道

    6.DataNode应答成功

    7.客户端上传数据

HDFS读数据流程

代码语言:javascript复制
    1.HDFS客户端向NameNode请求下载文件

    2.NameNode返回目标文件的元数据信息

    3.客户端请求读取目标文件所在DataNode

    4.DataNode向客户端传输数据

0 人点赞