zoukankan      html  css  js  c++  java
  • HDFS的可靠性

    HDFS的可靠性

    1、冗余副本策略   2、机架策略    3、心跳机制    4、安全模式

    5、校验和           6、回收站       7、元数据保护    8、快照机制

    1、冗余副本策略 

     可以在hdfs-site.xml中设置复制因子指定副本数量
     所有数据块都有副本
     Datanode启动时,遍历本地文件系统,产生一份hdfs数据块和本地文件的对应关系列表(blockreport)汇报给namenode

    2、机架策略    

    集群一般放在不同机架上,机架间带宽要比机架内带宽要小
     HDFS的“机架感知”
     一般在本机架存放一个副本,在其它机架再存放别的副本,这样可以防止机架失效时
    丢失数据,也可以提高带宽利用率

    3、心跳机制

    Namenode周期性从datanode接收心跳信号和块报告
     Namenode根据块报告验证元数据
     没有按时发送心跳的datanode会被标记为宕机,不会再给它任何I/O请求
     如果datanode失效造成副本数量下降,并且低于预先设置的阈值,namenode会检测出这些数据块,并在合适的时机进行重新复制
     引发重新复制的原因还包括数据副本本身损坏、磁盘错误,复制因子被增大等

    4、安全模式

    Namenode启动时会先经过一个“安全模式”阶段
     安全模式阶段不会产生数据写
     在此阶段Namenode收集各个datanode的报告,当数据块达到最小副本数以上时,
    会被认为是“安全”的
     在一定比例(可设置)的数据块被确定为“安全”后,再过若干时间,安全模式结束
     当检测到副本数不足的数据块时,该块会被复制直到达到最小副本数

    5、校验和        

    在文件创立时,每个数据块都产生校验和
     校验和会作为单独一个隐藏文件保存在命名空间下
     客户端获取数据时可以检查校验和是否相同,从而发现数据块是否损坏
     如果正在读取的数据块损坏,则可以继续读取其它副本

      

    6、回收站    

    删除文件时,其实是放入回收站/trash
     回收站里的文件可以快速恢复
     可以设置一个时间阈值,当回收站里文件的存放时间超过这个阈值,就被彻底删除,并且释放占用的数据块

     7、元数据保护  

    映像文件刚和事务日志是Namenode的核心数据。可以配置为拥有多个副本
     副本会降低Namenode的处理速度,但增加安全性
     Namenode依然是单点,如果发生故障要手工切换

     8、快照机制

    支持存储某个时间点的映像,需要时可以使数据重返这个时间点的状态
     Hadoop目前还不支持快照,已经列入开发计划

    怎样添加新节点?

    在新节点安装好hadoop
     把namenode的有关配置文件复制到该节点
     修改masters和slaves文件,增加该节点
     设置ssh免密码进出该节点
     单独启动该节点上的datanode和tasktracker(hadoop-daemon.sh start datanode/tasktracker)
     运行start -balancer.sh进行数据负载均衡

    负载均衡:

    作用:当节点出现故障,或新增加节点时,数据块分布可能不均匀,负载均衡可以重新平衡各个datanode上数据块的分布

  • 相关阅读:
    Ajax 异步请求返回集合遍历问题
    JS 类数组,字符串,转换成数组的方法
    laravel、TP、YII三个框架的优缺点对比
    纵深防御
    渗透测试小结
    常见的设计模式
    CDN简介
    WAF小介
    分布式事务及其常见的解决方案
    redis主从复制
  • 原文地址:https://www.cnblogs.com/catWang/p/3894564.html
Copyright © 2011-2022 走看看