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

  • 相关阅读:
    安装PyExecJS出现问题
    常用模块
    python2和python3的区别
    正则表达式
    MySQL之表的关系
    Python与MySQL的交互
    select 查询
    MySQL之表的连接
    bug
    黑盒测试-判定表驱动法
  • 原文地址:https://www.cnblogs.com/maxigang/p/9796893.html
Copyright © 2011-2022 走看看