HDFS如何保证高可用性

一、高可用1、实现方式NameNode冗余备份2、具体过程  多个节点作为NameNode,其中一个处于Active状态,其它处于Standby状态。目前的实现有一个条件,需要借助类似NFS这样的分布式共享存储系统,而且节点要能够访问这一系统。  在Active的namespace上的每个改变,需要同步到处于Standby状态的节点。怎么同步?Active节点会周期性的将修改做日志到一个...
摘要由CSDN通过智能技术生成

一、高可用

1、实现方式

NameNode冗余备份

2、具体过程

  多个节点作为NameNode,其中一个处于Active状态,其它处于Standby状态。目前的实现有一个条件,需要借助类似NFS这样的分布式共享存储系统,而且节点要能够访问这一系统。
  在Active的namespace上的每个改变,需要同步到处于Standby状态的节点。怎么同步?Active节点会周期性的将修改做日志到一个共享目录下的edit log file中,而Standby节点持续监控该目录,一有更新,就会拿过来应用到自己的namespace中。当Active节点的NameNode挂掉之后,其它节点会确保先把NameNode节点产生的修改都应用到自己的namespace中再进行替换操作。

3、快速恢复机制

  在备用NameNode节点替换的时候,该节点是需要知道cluster上所有block的位置的。在上一篇HDFS的文章中有说在启动NameNode的时候处于安全模式,会对block进行检入操作。显然如果知道所有block的位置信息,恢复时间会大大减小。所以,在配置DataNode的时候,会添加上所有的NameNode。然后DataNode在会向所有的NameNode发送心跳和block位置信息。这样一来,全部NameNode上就都有最新的块信息了。

4、fencing process

  如果很久没有收到NameNode对edit log file做修改记录的操作。那NameNode是挂了还是网络问题延时了?在不能确定的情况下,显然不能直接进行备胎同步完edit log file修改之

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值