您的位置:首页 > 运维架构

Hadoop 2.x hdfs(热/冷)升级步骤

2016-09-02 11:06 190 查看


热升级步骤

1.执行一次fsck,记录文件情况与升级后的fsck情况对比。

   —— ./bin/hadoop fsck / -files -blocks -locations > dfs-v-old-fsck-1.log

           ./bin/hadoop dfs -lsr / > dfs-v-old-lsr-1.log

           ./bin/hadoop dfsadmin -report > dfs-v-old-report-1.log

2.备份namenode信息,即etc/hadoop/hdfs-site.xml下的dfs.namenode.name.dir所指向的文件夹

3.备份配置文件,即etc/hadoop文件下的hadoop-env.sh,yarn-env.sh,mapred-env.sh,core-site.xml,mapred-site.xml,hdfs-site.xml,yarn-site.xml

<确保jns,zkns运行正常>

4.在standby nn2上执行hdfs dfsadmin -rollingUpgrade prepare(生成备份fsimage文件用于rollback)

   在standby nn2上执行hdfs dfsadmin -rollingUpgrade query(获取备份生成情况——文件是否在对应目录生成)

5.在standby nn2上执行hadoop-deamon.sh stop namenode

   替换/opt/hadoop/hadoop软连接所指向的/opt/hadoop/hadoop-2.x.x文件夹(某些老版本使用的jar包需要拷贝到新版本的hadoop-2.x.x文件夹中比如hadoop-2.6.0/share/hadoop/common/BFDSocketAppender.jar,hadoop-lzo-0.4.20-SNAPSHOT.jar,etc/hadoop/下的配置文件,所有环境变量使用/opt/hadoop/hadoop)

    在此机器上执行hdfs namenode -rollingUpgrade started(在进行upgrade finalize之前,nn的启动必须用这种方式。并且此程序是前台进程,需要用nohup &方式启动)

6.Failover standby nn2 to active.

   首先查看nn2的状态hdfs haadmin -getServiceState nnId

   确认是standby 状态后执行hdfs haadmin -failover --forcefence --forceactive now-active now-standby

   (6条中所述方式只能在nn未开启自动切换功能时的方式,对于开启automatic-failover开关的情况,只需要kill掉active nn进程即可实现主备切换)

7.在nn1上执行hadoop-daemon.sh stop namenode(由于步骤6已经kill掉nn1,所以这部可以省略)

   在nn1上替换掉/opt/hadoop/hadoop对应的文件夹,添加hadoop-2.6.0版本修改过的jar包如bfdSocketappender.jar等,修改nn1上的所有环境变量指向/opt/hadoop/hadoop

8.在nn1上执行hdfs dfsadmin -rollingUpgrade started.

9.分批升级datanode

   在一台dn上执行hdfs dfsadmin -shutdownDatanode ip:ipc_port upgrade(此命令是在dn关闭时暂存接受到的dn client读写请求)

                      执行hdfs dfsadmin -getDatanodeInfo ip:ipc_port查看dn是否完成shutdown

    替换掉dn机器上的文件夹,jar包,环境变量等

    在此机器上执行hadoop-daemon.sh start datanode

10.完成

11.运行稳定一段时间后在任意nn机器上执行:hdfs dfsadmin -rollingUpgrade finalize


热降级步骤

1.在一部分datanode上执行hdfs dfsadmin -shutdownDatanode ip:ipc_port upgrade

   执行hdfs dfsadmin -getDatanodeInfo ip:ipc_port

   查看关闭状态

2.downgrade datanode文件夹,软连接重新定向

3.重复以上步骤降级所有dn.并且重启。

4.在standby nn2上shutdown和downgrade文件夹,正常启动nn2

   failover 到 nn2

   在nn1上执行以上操作。

5.最后结束升级hdfs dfsadmin -rollingUpgrade finalize


冷降级步骤

1.source ./stop-dfs.sh

2.降级所有节点的hadoop版本

3.启动nns执行hdfs namenode -rollingUpgrade downgrade

4.正常启动所有dns.

参考资料:

http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/HdfsRollingUpgrade.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: