• 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

  • 相关阅读:
    使用JDK创建webService
    eclipse换工作空间要做的事情
    JAVA输出表格(适配中英文)
    linux下如何用GDB调试c++程序
    C++编译的四个步骤
    linux下如何设置root密码(第一次)
    chp01、Dreamweaver介绍
    服务器端程序
    1_计算机网络概述
    Oracle Java JDBC: Get Primary Key Of Inserted Record
  • 原文地址:https://www.cnblogs.com/maxigang/p/9796893.html
Copyright © 2020-2023  润新知