zoukankan      html  css  js  c++  java
  • HDFS的HA(高可用)

    问题:NameNode是单节点的,容易发生单点故障。

    在hadoop2.x之后,可以部署两个NameNode,一个Active(活跃的),另外一个是StandBy(备份的),如果要实现这种高可用,需要解决两个问题:

    1.数据的同步

    数据的同步包括两部分:静态数据和动态数据,静态数据是指元数据信息(块名称,大小,偏移量,权限),动态数据是指datanode定时上送的块信息。

    动态数据可以让datanode连接两个namenode,上送给两个namenode;静态数据可以采用Journal node进行日志的读取和写入,完成元数据(静态数据)的同步。

    2.同一个时间段,只有一个namenode工作,防止两个同时在,发生脑裂

    使用zookeeper协调系统,每个namenode都有zkfc的进程。

    1)健康监控

    health montor监控namenode的健康状况,如果不舒服,则需要调用2)

    2)状态变化回调函数

    zkfailercontroller

    3)进行选举

    activeStandyElector

    选举成功的,调用方法变成了active

    否则选择失败,调用方法变成standy by

    爱人不亲,反其仁;治人不治,反其智;礼人不答,反其敬;行有不得,反求诸己
  • 相关阅读:
    java静态导入
    java导出javadoc文档
    Java编程规范
    Java谜题——类谜题(二)
    JS注意事项
    JS——实现短信验证码的倒计时功能(没有验证码,只有倒计时)
    Java网络通信——XML和JSON
    JS基础知识——定时器
    JS的事件动态绑定机制
    JS基础知识(五)
  • 原文地址:https://www.cnblogs.com/lina-2015/p/14144184.html
Copyright © 2011-2022 走看看