hdfs 的容灾

dfs.name.dir (namenode的路径) 可以配置多个路径(也就是说可以多磁盘)但这些目录中的文件都是一样的 (可以防止某磁盘挂掉,做备份)

dfs.data.dir (datanode的路径) 也可配置多个。但数据时不一样的也就是利用多块磁盘来存储数据。至于datanode 的容灾措施, hdfs 会默认把datanode数据copy三份  一个放在本地机架的节点,一个放在同一机架的另一节点,另一个放在其他机架上。 当namenode长时间接收不到(默认1h)datanode的心跳 就认为其挂掉 就会自动从备份数据中取数据块。

 

(1)在Namenode和Datanode之间维持心跳检测,当由于网络故障之类的原因,导致Datanode发出的心跳包没有被Namenode正常收 到的时候,Namenode就不会将任何新的IO操作派发给那个Datanode,该Datanode上的数据被认为是无效的,因此Namenode会检 测是否有文件block的副本数目小于设置值,如果小于就自动开始复制新的副本并分发到其他Datanode节点。
(2)检测文件block的完整性,HDFS会记录每个新创建的文件的所有block的校验和。当以后检索这些文件的时候,从某个节点获取block,会首先确认校验和是否一致,如果不一致,会从其他Datanode节点上获取该block的副本。
(3)集群的负载均衡,由于节点的失效或者增加,可能导致数据分布的不均匀,当某个Datanode节点的空闲空间大于一个临界值的时候,HDFS会自动从其他Datanode迁移数据过来。
(4)Namenode上的fsimage和edits日志文件是HDFS的核心数据结构,如果这些文件损坏了,HDFS将失效。因而, Namenode可以配置成支持维护多 个 FsImage和 Editlog的拷贝。任何对 FsImage或者 Editlog的修改,都将同步到它们的副本上。 它总是选取最近的一致的 FsImage和 Editlog使用。 Namenode在 HDFS是单点存在,如果 Namenode所在的机器错误,手工的干预是必须的。
(5)文件的删除,删除并不是马上从Namenode移出namespace,而是放在/ trash目录随时可恢复,直到超过设置时间才被正式移除。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值