Hadoop如何升级版本_Hadoop1.x升级到2.x

  • Post author:
  • Post category:其他

对于Hadoop的hdfs来说,升级时直接把低版本的数据拷到高版本的hdfs上就行。

具体步骤:

1. hadoop  fs  -copyToLocal  [低版本的数据目录],防止数据丢失。

2. 对hdfs-site.xml里面的dfs.name.dir和dfs.data.dir的路径指定的元数据进行备份,防止丢失。 

3. stop正在运行的集群后,需要修改环境变量/etc/profile文件,因为Hadoop1.x和Hadoop2.x的环境变量有一处不一样,就是conf目录的路径,如下所示:

hadoop1.x的路径

 export HADOOP_CONF_DIR=$HADOOP_HOME/conf 

hadoop2.x的路径

 export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

之后记得把该主机的profile文件分发到各个节点!!

4,安装Hadoop高版本,进入etc/hadoop中配置core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml的属性,和1.x一样。

(1)注意在hdfs-site.xml里面的namenode的dir和datanode.dir指向原来hadoop1.x的元数据地址。

(2)一切配置完毕后,用scp进行分发,每个节点上发一个

(3)不要格式化启动集群,查看namenode.log,发现如下提示(截取了一部分错误):

File system image contains an old layout version -41.

An upgrade to version -47 is required.

Please restart NameNode with -upgrade option.

(4)stop新安装的Hadoop,进行如下升级操作:

sbin/hadoop-daemon.sh start namenode -upgrade

然后查看,hadoop-namenode.log发现没有原来的的异常,就代表升级成功。此时如果升级失败,清空新安装Hadoop的集群元数据,格式化namenode,重启新安装Hadoop的集群,直接把之前的备份数据,上传到新安装Hadoop的集群即可。


版权声明:本文为wangxiaopeng0329原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。