zoukankan      html  css  js  c++  java
  • NameNode HA滚动升级方案

    Hadoop 滚动升级非常方便,只需要在配置中增加一些选项就可以通过Hadoop自身的代码进行完成。

    步骤:

    1、首先到需要升级的NameService的Active NameNode上面,比如我们10.39.2.131是ns1的Active NameNode。

     

    2、新增加的配置:

    <property>

    <name>dfs.ha.fencing.methods</name>

    <value>shell(/bin/true)</value>

    </property>

     

    3、在ActiveNameNode上面使用命令

    hdfs haadmin -ns ns1 -failover nn1 nn2

    将nn1切换为Standby,nn2切换为Active。随后看一下web页面,确认这一过程完成顺利。

    (如果这一过程失败,采用手动切换。

    (1)如果ActiveNameNode没有切换为StandbyNameNode

    hdfs haadmin -ns ns1 -transitionToStandby nn1

    (2)确认nn1进入standby状态,防止client读取过期的数据。

    hdfs haadmin -ns ns2 -transitionToActive nn2)

     

    4、停止nn1(现在已经切换为StandByNameNode)

    hadoop-daemon.sh stop namenode

     

    5、替换jar包

     

    6、启动nn1

    hadoop-daemon.sh start namenode

     

    7、到nn2(目前为ActiveNameNode),执行步骤3,只不过参数位置变化

    hdfs haadmin -ns ns1 -failover nn2 nn1

     

    8、停止nn2

    hadoop-daemon.sh stop namenode

     

    9、替换jar包

     

    10、启动nn2

    hadoop-daemon.sh start namenode

     

    至此,滚动升级完成,在升级过程中不影响client及任务的执行,做到了不停机升级。

  • 相关阅读:
    并发工具类的使用 CountDownLatch,CyclicBarrier,Semaphore,Exchanger
    多线程按顺序执行3个方法
    读写锁事例
    使用AQS自定义重入锁
    java 几种锁实现
    Nginx 安装
    Windows 安装mysql
    day--14前端(HTML、CSS)
    day13--开发堡垒机
    day12--python操作mysql
  • 原文地址:https://www.cnblogs.com/sidmeng/p/3830905.html
Copyright © 2011-2022 走看看