HDFS NameNode HA(高可用)

HDFS NameNode HA(高可用)

原创

wx62be9d88ce294博主文章分类:大数据 ©著作权

文章标签 hdfs hadoop big data 单点故障 文章分类 Hadoop 大数据

©著作权归作者所有:来自51CTO博客作者wx62be9d88ce294的原创作品,请联系作者获取转载授权,否则将追究法律责任

1.NameNode HA概述

所谓HA(High Availablity [əˌveɪlə’bɪləti] ),即高可用(7*24小时服务不中断)。通过主备NameNode解决,如果主NameNode发生故障,则切换到备NameNode上,从而解决NameNode单点故障的问题。

  1. 实现高可用最关键的目的是消除单点故障。HA严格来说应该分成各个组件的HA机制:HDFS的HA和YARN的HA。
  2. Hadoop1.x在HDFS集群中NameNode存在单点故障;Hadoop2.0+可以通过NameNode HA解决单点故障的问题。
  3. Hadoop2.x中支持两个NameNode做HA,一个主,一个备。Hadoop3.x中支持两个或两个以上的NameNode做HA,一主一备,或一主多备。
  4. NameNode主要在以下两个方面影响HDFS集群

  5. NameNode机器发生意外,如宕机,集群将无法使用,直到管理员修复重启后。

  6. NameNode机器需要升级,包括软件、硬件升级,此时集群也将无法使用

  7. HDFS HA功能通过配置Active/Standby两个NameNodes实现在集群中对NameNode的热备来解决上述问题。如果出现故障,如机器崩溃或机器需要升级维护,这时可通过此种方式将NameNode很快的切换到另外一台机器。

2.手动NameNode HA概述

HDFS NameNode HA(高可用)
fsimage+edits log需要由StandbyNameNode做合并工作,fsimage推送的时机可以通过参数来调整:
dfs.namenode.checkpoint.period   1小时dfs.namenode.checkpoint.txns    100 0000事务dfs.namenode.checkpoint.check.period  3s
  1. 一个NameNode进程处于Active状态,另1个NameNode进程处于Standby状态。Active的NameNode负责处理客户端的请求。
  2. Active的NN修改了元数据之后,会在JNs的半数以上的节点上记录这个日志。Standby状态的NameNode会监视任何对JNs上edit log的更改。一旦edits log出现更改,Standby的NN就会根据edits log更改自己记录的元数据。
  3. 当发生故障转移时,Standby主机会确保已经读取了JNs上所有的更改来同步它本身记录的元数据,然后手动完成由Standby状态切换为Active状态。
  4. 为了确保在发生故障转移操作时拥有相同的数据块位置信息,DNs向所有NN发送数据块位置信息和心跳数据。
  5. JNS只允许一台NameNode向JNs写edits log数据,这样就能保证不会发生”脑裂”。
  6. 手动切换:通过命令实现主备之间的切换,可以用HDFS升级等场合

3.自动NameNode HA概述

HDFS NameNode HA(高可用)
主备NameNode自动切换解决单点故障
  1. 主NameNode对外提供服务,备NameNode同步主NameNode元数据,以待切换
  2. 所有DataNode同时向两个NameNode汇报数据块信息(位置)
  3. JNN:集群(属性)同步edits log
  4. standby:备,完成了fsimage+edits.log文件的合并产生新的fsimage,推送回ANN
  5. 自动切换:基于Zookeeper自动切换方案
  6. ZooKeeper Failover Controller:监控NameNode健康状态,并向Zookeeper注册NameNode。NameNode挂掉后,ZKFC为NameNode竞争锁,获得ZKFC 锁的NameNode变为active

  7. 收藏
  8. 评论
  9. *举报

上一篇:HDFS Federation联邦

下一篇:编写HDFS HA(高可用)启动和关闭脚本

Original: https://blog.51cto.com/u_15704423/5434928
Author: wx62be9d88ce294
Title: HDFS NameNode HA(高可用)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/516892/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球