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

  • 相关阅读:
    卡尔曼滤波器的简单推导
    data_quick 进度
    面试
    MapServer+TileCache+Apache+Python24 构建KS数据服务器
    PYTHONPATH 可以跨版本 方便使用 (本文为windows方法)转~
    20130923
    20130909
    error C2504 类的多层继承 头文件包含
    int long 等基础类型在不同平台的大小
    mysql python image 图像存储读取
  • 原文地址:https://www.cnblogs.com/maxigang/p/9796893.html
Copyright © 2011-2022 走看看