Hadoop版本升级步骤(2.4.1->2.6.1) 2015-09-30 21:00

思路

备份NameNode和JournalNode的元数据,使用新版本覆盖旧版本数据,然后执行start-dfs.sh -upgrade进行升级操作。

升级过程

下载新版本

各个节点上操作。

cd /opt
wget http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.6.1/hadoop-2.6.1.tar.gz

停止旧版本服务

只在ctrl节点上操作.

stop-yarn.sh
stop-dfs.sh

备份旧版本的NameNode数据

#备份ctrl节点上的HDFS元数据
mkdir /opt/backup
#NameNode数据所在的目录
cd /opt/dfs/name
tar -zcvf /opt/backup/backup_namenode_data_ctrl.tar.gz *

#备份data01节点上的HDFS元数据
mkdir /opt/backup
#NameNode数据所在的目录
cd /opt/dfs/name
tar -zcvf /opt/backup/backup_namenode_data_data01.tar.gz *
#JournalNode数据所在的目录
cd /opt/dfs/journal
tar -zcvf /opt/backup/backup_journalnode_data_data01.tar.gz *

#备份data02节点上的HDFS元数据
mkdir /opt/backup
#NameNode数据所在的目录
cd /opt/dfs/name
tar -zcvf /opt/backup/backup_namenode_data_data02.tar.gz *
#JournalNode数据所在的目录
cd /opt/hadoop/dfs/journal
tar -zcvf /opt/backup/backup_journalnode_data_data02.tar.gz *

#备份data03节点上的HDFS元数据
mkdir /opt/backup
#NameNode数据所在的目录
cd /opt/dfs/name
tar -zcvf /opt/backup/backup_namenode_data_data03.tar.gz *
#JournalNode数据所在的目录
cd /opt/hadoop/dfs/journal
tar -zcvf /opt/backup/backup_journalnode_data_data03.tar.gz *

在新目录安装新版本

所有节点操作。

cd /opt
tar -zxvf hadoop-2.6.1.tar.gz
mv hadoop hadoop-2.4.1
cp -R hadoop-2.6.1 hadoop

将旧版本的配置文件覆盖新版本

所有节点操作。

cd /opt
cp -f hadoop-2.4.1/etc/hadoop/hadoop-env.sh hadoop/etc/hadoop/
cp -f hadoop-2.4.1/etc/hadoop/hdfs-site.xml hadoop/etc/hadoop/
cp -f hadoop-2.4.1/etc/hadoop/yarn-site.xml hadoop/etc/hadoop/
cp -f hadoop-2.4.1/etc/hadoop/slaves hadoop/etc/hadoop/
cp -f hadoop-2.4.1/etc/hadoop/core-site.xml hadoop/etc/hadoop/
cp -f hadoop-2.4.1/etc/hadoop/mapred-site.xml hadoop/etc/hadoop/
cp -f hadoop-2.4.1/etc/hadoop/namenode_cmt.xml hadoop/etc/hadoop/
cp -f hadoop-2.4.1/etc/hadoop/capacity-scheduler.xml hadoop/etc/hadoop/

执行升级

在新版本中:

start-dfs.sh -upgrade

如果升级没有问题,通过如下命令提交升级:

hdfs dfsadmin -finalizeUpgrade

注意:

在使用联邦场景下,此命令只针对当前默认的fs.defaultFS对应用NameNode执行升级确认操作。因此,需要修改core-site.xml中的fs.defaultFS为另一个NameNode再执行一次相同的操作。

经验

升级过程中,需要留意各个节点的NameNode是否正常启动。如果不正常,通过NameNode的启动日志进行定位。

参考文档

  1. Hadoop升级方案(一):Hadoop 1.0内部版本升级
  2. upgrade apache hadoop from 2.4.1 to 2.6.0
  3. Performing an HDFS Upgrade of an Hadoop Cluster
Tags: #HDFS    Post on Hadoop