1:运行dfsadmin -upgradeProgress status 检查是否存在备份 如果是第一次升级 就不存在备份
2:备份dfs.namenode.dir下文件
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_HOME设置;fairscheduler.jar包要从contri中转移到lib下
并且要对照修改hadoop-site.xml中的路径指定是否正确
5:使用 bin/start-dfs.sh -upgrade 进行升级
6:运行一段时间后 没有问题 再 执行升级终结操作bin/hadoop dfsadmin -finalizeUpgrade
7:升级完成
注意:
HDFS从一个版本升级到另外一个版本的时候,NameNode和DataNode使用的文件格式有可能会改变。当你第一次使用新版本的时候,你要使用
bin/start-dfs.sh -upgrade
告诉Hadoop 去改变HDFS版本(否则,新版本不会生效)。
然后它开始升级,你可以通过
bin/hadoop dfsadmin -upgradeProgress
命令来查看版本升级的情况。
当然你可以使用
bin/hadoop dfsadmin -upgradeProgress details
来查看更多的详细信息。
当升级过程被阻塞的时候,你可以使用
bin/hadoop dfsadmin -upgradeProgress force
来强制升级继续执行(当你使用这个命令的时候,一定要慎重考虑)。
当HDFS升级完毕后,Hadoop依旧保留着旧版本的有关信息,
以便你可以方便的对HDFS进行降级操作。
可以使用bin/start-dfs.sh -rollback来执行降级操作。
Hadoop一次只保存一个版本的备份。
当新版本运行几天以后还是没有出现什么问题,你就可以使用
bin/hadoop dfsadmin -finalizeUpgrade
命令把旧版本的备份从系统中删掉了。删除以后rollback 命令就失效了。
在另外一次版本升级前,这个操作是一定要做的。
获取帮助跟 dfs 模块是一样的, 你可以使用
bin/hadoop dfsadmin -help
命令来获取特定的命令的一些用法。