zoukankan      html  css  js  c++  java
  • HDFS体系结构

    HDFS体系结构

      master/slave架构

      文件切分成块(128)

      namenode是主节点

      DataNode在本地文件系统存储文件块数据,以及块数据的校验

    NameNode

      Namenode是一个中心服务器,单一节点,负责管理文件系统的名字空间(namespace)以及客户端对文件的访问
    文件操作,NameNode负责文件元数据的操作,DataNode负责处理文件内容的读写请求,数据流不经过NameNode,只会询问它跟那个DataNode联系
    NameNode
      副本存放在那些DataNode上由NameNode来控制,根据全局情况做出块放置决定,读取文件时NameNode尽量让用户先读取最近的副本,降低带宽消耗和读取时延
    NameNode全权管理数据块的复制,它周期性地从集群中的每个DataNode接收心跳信号和块状态报告(BlockReport)。接收到心跳信号意味着该DataNode节点工作正常。块状态报告包含了一个该    DataNode上所有数据块的列表。
    DataNode
      一个数据块在DataNode上以文件存储在磁盘上,包括两个文件,一个是数据本身,一个是元数据包括数据块的长度,块数据的校验和,以及时间戳
    DataNode启动后向NameNode注册,通过后,周期性(1小时)的向NameNode上报所有的块信息
    心跳是每3秒一次,心跳返回结果带有NameNode给该DataNode的命令,如复制块数据到另一台机器,或删除某个数据块。如果超过10分钟NameNode没有收到某个DataNode 的心跳信息,则NameNode认为该DataNode节点已死亡不可用。
    SecondaryNameNode
      辅助的NameNode
      周期性将EditsLog文件合并
      工作原理,如右图所示
    工作流程
      secondarynamenode通知namenode切换edits文件
      secondarynamenode从namenode获得fsimage和edits(通过http)
      secondarynamenode将fsimage载入内存,然后开始合并edits
      secondarynamenode将新的fsimage发回给namenode
      namenode用新的fsimage替换旧的fsimage
    什么时候checkpiont
      fs.checkpoint.period 指定两次checkpoint的最大时间间隔,默认3600秒。
      fs.checkpoint.size 规定edits文件的最大值,一旦超过这个值则强制checkpoint,不管是否到达最大时间间隔。默认大小是64M
    数据损坏处理
      当DN读取block的时候,它会计算checksum;
      如果计算后的checksum,与block创建时值不一样,说明该block已经损坏。
      client读取其它DN上的block;NN标记该块已经损坏,然后复制block达到预期设置的文件备份数;
      DN在其文件创建后三周验证其checksum。

    与Linux文件权限类似
      r: read; w:write; x:execute,权限x对于文件忽略,对于文件夹表示是否允许访问其内容
      如果Linux系统用户zhangsan使用hadoop命令创建一个文件,那么这个文件在HDFS中owner是zhangsan
      HDFS的权限目的:阻止好人做错事,而不是阻止坏人做坏事。HDFS相信,你告诉我你是谁,我就认为你是谁
      Root 用户只能查看,不能写入
      hadoop dfs -chmod 777 /

    不忘初心,方得始终! 坚持!坚持!坚持!!
  • 相关阅读:
    2019New XTOOL X100 PAD钥匙编程器:有啥好用的吗?
    AUTEL MaxiSys MS906BT常见问题解答:修改速度限制器,输入VIN号码
    Autel MaxiAP AP200:功能,特性,评论
    OBDSTAR X300 PRO3详细评论
    Autel MaxiIM IM608:关于如何更新和一些评论
    Autel MaxiAP AP200:功能,特性,评论,
    OBDSTAR X300 PRO3详细评论
    k8s 基础总结
    k8s yaml 编写
    k8s 生命周期概况
  • 原文地址:https://www.cnblogs.com/sumboy/p/9067039.html
Copyright © 2011-2022 走看看