hadoop版本升级到2.4.1

测试环境介绍:

Hadoop 1.0.3  升级到Hadoop2.4.1

 

当前老环境(三副本环境):

Namenode 192.168.1.10

Datanode         192.168.1.11 SecondNamenode

Datanode         192.168.1.12

Datanode         192.168.1.13

 

由于Hadoop2.4.1支持HA集群,所有需要在增加一台Namenode机器

新环境规划如下:

Namenode         192.168.1.10

Namenode2        192.168.1.14   新增

Datanode         192.168.1.11

Datanode         192.168.1.12

Datanode         192.168.1.13

 

为了预防升级过程中出现的各种问题,最好在集群升级的过程前先备份好集群namenode的元数据(${HADOOP_HOME}/conf/hdfs-site.xml中的dfs.name.dir所配置的文件夹),以免升级失败带来不可挽回的损失!



升级步骤开始:

1、 关掉hadoop-1.0.3版本的守护线程,并将关于Hadoop1.0.3所有的相关的环境变量(HADOOP_HOMEPATH等相关环境变量配置)删掉(如果有),以防对Hadoop2.4.1升级的影响。


2、 Hadoop2.4.1${HADOOP_HOMOE}/etc/hadoop/hdfs-site.xml

dfs.namenode.name.dirdfs.datanode.data.di属性的值分别指向Hadoop1.3.0${HADOOP_HOME}/conf/hdfs-site.xmldfs.name.dirdfs.data.dir的值。


3、 配置Hadoop2.4.1(过程略)。



4、 拷贝Namenode节点上的dfs.namenode.name.dir元数据到Namenode2节点的相关目录。

拷贝dfs.namenode.name.dir元数据里的current目录到Namenode共享目录。


5、 启动第一台Namenode

$ hadoop-daemon.sh start  namenode

正常情况下无法启动,报错提示:

File system image contains an old layout version �Cx.

An upgrade to version -47 is required.

Please restart NameNode with -upgrade option.


提示启动NameNode应该带上-upgrade选项,再试一下

$ hadoop-daemon.sh start  namenode  -upgrade

Jps查看启动成功。


6、 在第二台Namenode(Namenode2)上启动namenode

$ hadoop-daemon.sh start  namenode

正常情况下可以正常启动。


7、 Datanode节点上依次启动datanode节点

$ hadoop-daemon.sh start  datanode


上述两个步骤也可以合并成:start-dfs.sh �Cupgrade

可使用命令:hadoopdfsadmin -upgradeProgress status 查看升级进度

也可以通过查看namenodedatanode日志判断升级是否完毕。


至此,升级步骤完成,你可以查看升级之后的Hadoop2.4.1一样可以访问之前Hadoop1.3.0的数据,并没有什么错误。升级完成后,会在namenodedfs.namenode.name.dir目录和dfs.datanode.data.dir目录下多出一个previous/ 目录。如果确认升级成功后,可以根据实际情况决定是否需要删掉这个目录,运行以下命令把以前的版本删掉:

$ hdfs    dfsadmin       -finalizeUpgrade

注意:-finalizeUpgrade不是升级必须的,所以根据实际情况去执行。一旦执行该命令,会删掉旧版本数据,以后就不能回滚了。


你可能感兴趣的:(hadoop,版本升级,2.4.1)