集群hadoop升级

nn1activenn2standby

 

首先下载2.6.3hadoop源码进行编译,形成hadoop-2.6.3.tar.gz

 

安装新版本的hadoop,从log-server上分发新版的hadoop并解压

         cd /letv/setupHadoop

         ./upgrade.sh distribute cluster_nodes hadoop-2.6.3.tar.gz/letv/usr/local

         ./upgrade.sh  common cluster_nodes"cd /letv/usr/local;tar -xzvf hadoop-2.6.3.tar.gz"

 

将新版hadoop  /etc/hadoop下的所有文件替换为原版hadoop的相同文件夹下的配置文件。

 

       ./upgrade .sh common couster_nodes "cd/letv/usr/local/hadoop-2.6.3/etc;rm -rf hadoop;cp -r /usr/local/hadoop/etc/hadoop/letv/usr/local/hadoop-2.6.3/etc "

      

 

一、 Prepare Rolling Upgrade

1、以hadoop用户登录nn2执行

          "hdfs dfsadmin -rollingUpgrade prepare"

 

2nn2上执行 

         "hdfs dfsadmin -rollingUpgrade query"

 

     等待,直到出现  "Proceed with rollingupgrade"如果不出现,重复执行该命令

 

3、完成操作后,在namenode50070端口页面最上端上会出现相应提示信息,表示rollback文件生成。

   同时可以查看nn1nn2 /data/hadoop/data1/dfs/name/current 文件夹下,会生成rollbackfsimage文件。

 

二、 Upgrade Active and Standby NameNodesand ZKFC

1、关闭standbynamenodenn2和其上的ZKFC

          hadoop-daemon.sh stop namenode      

          hadoop-daemon.sh stop zkfc

 

2、以rollingUpgrade的方式启动nn2

        切换到root用户

 

        建立新hadoop的软链

           cd /usr/local

           rm -rf hadoop

           ln -s /letv/usr/local/hadoop-2.6.3 hadoop

           chown - R hadoop:hadoop hadoop

      

       重新启动namenodezkfc

         hadoop-daemon.sh start namenode -rollingUpgrade started

         hadoop-daemon.sh start zkfc

  

    启动完成后nn2standby状态

 

2、切换nn1nn2使得nn1standby(nn2上操作)nn2active

        hdfs haadmin -failover testnn1 testnn2

 

3nn1上重复步骤12

 

4、切换nn1nn2恢复原来的状态

      hdfs haadmin -failover testnn2 testnn1

 

 

三、Upgrade Journalnode

     journalnode更新需要一台一台操作,不可以批量执行操作,否则容易导致集群挂掉。

 

1、登录一台journalnode(新集群resourcemanagerjournalnode启动在了一台机子上,所以先从standbyresourcemanager入手,然后是activeresourcemanager,其次顺序任意)

       ssh sdf-resourcemanager2

 

2、停止journalnode服务

       hadoop-daemon.sh stop journalnode

     停止resourcemanager服务(这里是rm2所以会执行这一步,如果接下来的journalnode上不存在rm进程则不需要执行)

          

3安装新版本hadoop

      

        切换到root用户

 

        然后建立新hadoop的软链

           cd /usr/local

           rm -rf hadoop

           ln -s /letv/usr/local/hadoop-2.6.3 hadoop

           chown - R hadoop:hadoop hadoop

 

4、启动新版的journalnode

       hadoop-daemon.sh start journalnode

       yarn-daemon.sh start resourcemanager(resourcemanager进程则执行,否则不做)

 

5、每台journalnode执行1-4操作,没有resourcemanager进程的机子不做rm的停止和启动的操作。

  

   注意,一定要等一台journalnode完全启动后,才可以执行下一个journalnode的升级操作。可以查看日志,也可以查看/data/hadoop/data2/journal_node/test-cluster/current下的edit文件,

   看重启journalnode服务的这台服务器是否和其它journalnode节点上相同文件夹的的edit文件同步。同步后,方可继续,否则一定不要开始下一个journalnode的升级操作。

 

四、Upgrade DataNodes and Nodemanager

1、选择任意一个datanode(集群可以按机架来批量执行),执行

    hdfs dfsadmin -shutdownDatanode DATANODE_HOTS:50020 upgrade

    yarn-daemon.sh stop nodemanager //也可以先批量设置成unhealth状态,减少停止nodemanger的影响。或者和datanode不在同一批次停止,改变/usr/local/hadoop的连接也没有影响。

     完后datanodenodemanager进程关闭。

  

2、安装新版本hadoop

      

        切换到root用户

 

        然后建立新hadoop的软链

           cd /usr/local

           rm -rf hadoop

           ln -s /letv/usr/local/hadoop-2.6.3 hadoop

           chown - R hadoop:hadoop hadoop

 

3、启动datanodenodemanager

      hadoop-daemon.sh start datanode

      yarn-daemon.sh start nodemanager

 

4、所有datanodenodemanager节点执行步骤123

 

 

五、

    确定升级完成后,nn1nn2上执行 hdfs dfsadmin -rollingUpgrade finalize来结束升级操作。Namenode50070端口页面的提示信息消失。

    此步骤不可逆,一旦执行,rollbackfsimage文件变为普通的fsimage文件,集群不可再回到升级前的状态

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值