zoukankan      html  css  js  c++  java
  • hdfs之客户端读、写操作,元数据,Secondarynamenode,Checkpoint

    客户端写操作


    1)客户端请求上传数据到服务器

    2)服务器接收到这个请求,然后到自己的元数据里面去查询,元数据中是否记录了该文件的存在

    3)NN响应客户端是否可以上传

    4)服务器会发送再次请求,需要上传多大的数据文件

    5)服务器会检查DataNode的信息

    6)服务器会根据上传文件大小进行调度,调度出最合适的DataNode队列返回给客户端

    【每隔3秒钟,DataNode都会向NN发送一个数据,DN的状态和可用空间】

    7)告诉DN需要上传数据

    8)客户端接收队列数据:

      通过pop方法,取出第一个节点的地址,然后访问该节点,并吧剩下的其他节点的IP地址带过去;

      第一个DN接收数据,再从队列中取出第一个,继续把剩下的IP带过去,直到最后一个节点结束;

      最后一个节点收到信息之后,想源地址发送确认消息,确认到第一个DN的时候,DN会把确认消息返回给客户端;

    【即建立好了传输通道】

    9)客户端接收到最终确认消息之后,开始往每一个DN上写入数据

    10)最终写入成功会将消息返回给客户端

    11)客户端向NN汇报,数据写入成功,NN就会把消息写入元数据中

    12)最后NN会通知DN自动做数据副本平衡

    客户端读操作


    1)客户端请求NN,需要下载文件

    2)NN把文件的元数据信息返回给客户端

    3)客户端接收到数据后,就到相应的客户端去请求数据即可

    4)最后客户端本地进行数据追加合并从而获得整个文件

    元数据

    1)元数据:元数据是我们内存的一块空间

    2)元数据:是一个文件,fsimage_0000000000XX文件就是元数据

    3)元数据:就是一个小型的数据库,里面存放了所有文件的位置

    Secondarynamenode

    1)secondarynamenode实际上是对NameNode数据的一个备份

    2)secondarynamenode是为了防止NameNode机器挂掉

    3)secondarynamenode不能和NameNode放在一起

    可以修改hdfs-site.xml配置文件来指定secondarynamenode的地址

    <!--指定SecondaryNameNode的地址-->
    <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>hdp02:50090</value>
    </property>
    

    Checkpoint

    Checkpoint就是定时检查节点

  • 相关阅读:
    【转】Android开发实践:自定义带消息循环(Looper)的工作线程
    【转】 解决IllegalStateException: Can not perform this action after onSaveInstanceState
    【转】Fresco之强大之余的痛楚
    【转】Android 防破解技术简介
    改进版本号的精确数据权限定义和实现
    明天是我的生日,写给24岁的自己
    javascrip cookie
    Servlet -- 跳转到页面后的绝对路径与相对路径的问题
    JAVA訪问URL
    跨浏览器resize事件分析
  • 原文地址:https://www.cnblogs.com/lyx666/p/12391882.html
Copyright © 2011-2022 走看看