hadoop2.4后的滚动升级

1.介绍

   HDFS的滚动升级可以只升级独立的守护进程,比如可以独立升级datanode、namenode、journalnode,这些进程都可以不相互依赖来升级;hadoop2.x开始支持HDFS的HA,也正是HA,集群可以不停机来滚动升级,当然前提是先不要升级journalnode和zookeeper,下面描述一下非联邦HA升级的过程。

2.滚动升级

2.1备份

   首先,先备份最新的dfs.namenode.name.dir下的镜像和编辑日志文件,防止意外;

2.2升级

1).配置好新版本hadoop的配置和环境变量;

2).准备升级

      1.在active namenode节点以新版本环境变量运行"hdfs dfsadmin -rollingUpgrade prepare",创建备份回滚镜像;

  2. 然后再以新版本环境变量运行"hdfs dfsadmin -rollingUpgrade query"来检查一下回滚镜像状态,等待和继续执行这个命令,直到出现"Proceed with rolling upgrade",操作才可以再往下执行。

3).升级active 和standby namenode

        1.旧环境先停掉standby namenode,hadoop-daemon.sh stop namenode直接停掉,然后用升级的新的hadoop环境     运行hadoop-daemon.sh start namenode -rollingUpgrade started

  2.切主备节点,让新升级standby的namenode变为active,
  3.用同样的方式来升级现在变为standby的namenode,要想该升级后的standby的namenode变为active,直接切

   换主备一次就行;

4).升级datanode

执行"hdfs dfsadmin -shutdownDatanode upgrade" 来停掉指定的datanode,比如hdfs dfsadmin -shutdownDatanode hostname-1:50020 upgrade,运行"hdfs dfsadmin -getDatanodeInfo " 来确认datanode已经停掉,在对应的节点升级hadoop变更环境后,运行hadoop-daemon.sh start datanode启动进程,其他节点重复上面的操作即可升级完集群的所有的datanode;

3.完成升级

 "hdfs dfsadmin -rollingUpgrade finalize"执行该命令完成升级;

4.其他

  其他联邦或者非HA等升级方式可以查看官网来进行,官网还是比较详细的



你可能感兴趣的:(hadoop)