现在的位置: 首页 > 综合 > 正文

hadoop升级

2012年12月22日 ⁄ 综合 ⁄ 共 1139字 ⁄ 字号 评论关闭

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 命令就失效了。

 

更多参考:http://wiki.apache.org/hadoop/Hadoop_Upgrade

抱歉!评论已关闭.