1.运行dfsadmin -upgradeProgress status 检查是否存在备份 如果是第一次升级 就不存在备份(在升级Hadoop前,如果已经存在备份,需要先结束 finalize 它。) 2.备份dfs.namenode.dir下文件,同时要备份下hdfs的文件目录的元数据信息: 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
3.停止所有节点 bin/stop-all.sh 4.在所有节点上重新部署hadoop 并替换conf文件夹下所有文件(就是将原有的hadoop-0.19.1更名为hadoop-0.19.1-oldverstion,然后解压hadoop-0.19.2.tar.gz 将0.19.2中的conf文件替换为0.19.1中的conf文件夹) 并且要对照修改hadoop-site.xml中的路径指定是否正确 5.使用 bin/start-dfs.sh -upgrade 进行升级(DFS从一个版本升级到另外一个版本的时候,NameNode和DataNode使用的文件格式有可能会改变。当你第一次使用新版本的时候,你要告诉Hadoop 去改变HDFS版本,否则,新版本不会生效)
6.监控升级情况和升级问题处理 开始升级,你可以通过 bin/hadoop dfsadmin -upgradeProgress 命令来查看版本升级的情况。 当然你可以使用 bin/hadoop dfsadmin -upgradeProgress details 来查看更多的详细信息。 当升级过程被阻塞的时候,你可以使用 bin/hadoop dfsadmin -upgradeProgress force 来强制升级继续执行(当你使用这个命令的时候,一定要慎重考虑)。
当HDFS升级完毕后,Hadoop依旧保留着旧版本的有关信息, 以便你可以方便的对HDFS进行降级操作。 可以使用bin/start-dfs.sh -rollback来执行降级操作。 7.对比现有hdfs的文件目录的元数据信息和升级的差异。 8.升级完成,Hadoop一次只保存一个版本的备份,当新版本运行几天以后还是没有出现什么问题,你就可以使用运行一段时间后 没有问题再执行升级终结操作 bin/hadoop dfsadmin -finalizeUpgrade 命令把旧版本的备份从系统中删掉了。删除以后rollback 命令就失效了。
|
|
来自: IT技术武馆 > 《Hadoop及生态圈相关》