zoukankan      html  css  js  c++  java
  • NameNode中的高可用方案

    NN中元数据的可靠性是可以保证的,但是其可用性并不高,因为Namenode是单节点的,所以一旦这个节点不能工作,那么整个hdfs都不能工作,但是由于SecondaryNameNode的机制,所以,即便NameNode不能工作,元数据也不会丢失,人为介入之后是可以恢复的,不会导致数据丢失。因此可靠性高不代表可用性也高。因此NameNode的HA方案呼之欲出。

    1-能否让两个NN都正常响应客户端请求?

    应该让两个NN节点在某一个时间只能有一个响应客户端请求,响应请求的节点必须是Active那一个;

    2-standby状态的节点必须能够快速无缝切换到active状态;

    意味着两个NN节点必须时刻保持元数据一致;

    3-如何监控NN状态

    两个NN节点的状态存放在ZK中,另外两个NN节点分别有一个进程监控程序,实施读取ZK中有NN的状态,来判断当前的NN是不是已经down机。如果standby的NN节点的ZKFC发现主节点已经挂掉,那么就会强制给原本的active NN节点发送强制关闭请求,之后将备用的NN设置为active

    Hadoop为NN提供的HA机制如下图所示:

    ZKFC负责NN的Acitive切换

    上图中一组NN(active和standby节点)称为一个federation,可以多组federation独立运行。

    hdfs://ns1/aa/bb

    hdfs://ns2/aa/bb

  • 相关阅读:
    Python札记 装饰器
    Python与SQLite日期时间函数的使用
    Python札记 文件校验
    Python札记 参数魔法
    JAVA操作图片裁切与缩放的一个工具类
    java对象的序列化和反序列化
    Apache MINA 初识
    在Java 7里如何对文件进行操作
    Calendar时间获取明细
    使用ViewPager实现欢迎页面左右拖动效果
  • 原文地址:https://www.cnblogs.com/maxigang/p/9796893.html
Copyright © 2011-2022 走看看