Hadoop升级步骤cdh3u3到cdh3u6

8月份的时候做了下hadoop的升级,小版本升级

参考文档:http://wiki.apache.org/hadoop/Hadoop_Upgrade

原文地址:http://blog.csdn.net/lxpbs8851/article/details/12968997

在此做一个记录:

从版本 hadoop-0.20.2-cdh3u3 升级到 hadoop-0.20.2-cdh3u6

步骤如下:

1.备份namenode信息

#hadoop dfs –lsr / >/opt/namenode_back/namenode-lsr-v-old.log

#hadoop fsck / >/opt/namenode_back/namenode-fsck-v-old.log

前面2项用于升级之后对数据的对比

#cp –r ${dfs.name.dir} /opt/ namenode_back/name/

备份namenode的meta数据,用户升级失败后的恢复

2.关闭旧集群,上传最新稳定版本cdh3u6,配置各个文件:core、hdfs、mapred、master、slaves,也可以使用先前的配置文件,根据当前版本的情况来决定是否要对配置文件做修改,配置hadoop-env.sh

3.将配置好的新版本目录分发给集群中所有的机器节点,注意文件目录的所属用户,若不同则用chown进行修改。

4.将老版本${dfs.name.dir}目录下的文件拷贝到新版本${dfs.name.dir}的目录下面,要是新老版本的目录一样,可以不要拷贝

5.开始更新操作:

  #${NEW_HADOOP_HOME}/bin/start-dfs.sh–upgrade

使用如下命令进行监控,查看是否升级完成:

#$ { NEW_HADOOP_HOME }/bin/hadoop dfsadmin -upgradeProgressstatus

出现Upgrade for version - hadoop-0.20.2-cdh3u6 has been completed.的提示即完成了升级。

6.修改环境变量:

在root用户下修改。

#vi /etc/profile

     主要是修改$HADOOP_HOME

7.启动新集群

#${NEW_HADOOP_HOME}/bin/start-all.sh

8.生成新的信息:

#hadoop fs –lsr / >/opt/namenode_back/namenode-lsr-v-new.log

#hadoop fsck / >/opt/namenode_back/namenode-fsck-v-new.log

对比1中2个old-log 若信息不符合(丢失最要数据),可以选择回滚。

9.回滚操作:

#${NEW_HADOOP_HOME}/bin/stop-all.sh

#${NEW_HADOOP_HOME}/bin/start-dfs.sh –rollback

改回环境变量,

#${OLD_HADOOP_HOME}/bin/start-all.sh

你可能感兴趣的:(Hadoop升级步骤cdh3u3到cdh3u6)