您的位置:首页 > 运维架构

集群hadoop版本升级(2.6.4--2.7.2)

2016-09-22 17:15 239 查看
nn1为active,nn2为standby,upgrade.sh为批量执行脚本

首先下载2.7.2的hadoop源码进行编译,形成hadoop-2.7.2.tar.gz

安装新版本的hadoop,从log-server上分发新版的hadoop并解压

cd /letv/setupHadoop

./upgrade.sh distribute cluster_nodes hadoop-2.7.2.tar.gz /letv/usr/local

./upgrade.sh common cluster_nodes “cd /letv/usr/local;tar -xzvf hadoop-2.7.2.tar.gz”

将新版hadoop 的 /etc/hadoop下的所有文件替换为原版hadoop的相同文件夹下的配置文件。

./upgrade .sh common cluster_nodes “cd /letv/usr/local/hadoop-2.7.2/etc;rm -rf hadoop;cp -r /usr/local/hadoop/etc/hadoop /letv/usr/local/hadoop-2.7.2/etc “

一、 Prepare Rolling Upgrade

1、以hadoop用户登录nn2执行

“hdfs dfsadmin -rollingUpgrade prepare”



2、nn2上执行

“hdfs dfsadmin -rollingUpgrade query”

等待,直到出现 “Proceed with rolling upgrade”如果不出现,重复执行前一个命令

3、完成操作后,在namenode的50070端口页面最上端上会出现相应提示信息,表示rollback文件生成。

二、 Upgrade Active and Standby NameNodes and ZKFC

1、关闭standby的namenode即nn2和ZKFC。

hadoop-daemon.sh stop namenode

hadoop-daemon.sh stop zkfc

2、以rollingUpgrade的方式启动nn2

切换到root用户

然后建立新hadoop的软链

cd /usr/local

rm -rf hadoop

ln -s /letv/usr/local/hadoop-2.6.3 hadoop

chown - R hadoop:hadoop hadoop

重新启动namenode和zkfc

hadoop-daemon.sh start namenode -rollingUpgrade started

hadoop-daemon.sh start zkfc

启动完成后nn2为standby状态

3、切换nn1和nn2使得nn1为standby(nn2上操作),nn2为active。

hdfs haadmin -failover testnn1 testnn2

4、 在nn1上重复步骤1和2

5、切换nn1和nn2恢复原来的状态

hdfs haadmin -failover testnn2 testnn1

三、Upgrade Journalnode

journalnode更新需要一台一台操作,不可以批量执行操作,否则导致集群挂掉。

1、登录一台journalnode(新集群resourcemanager和journalnode启动在了一台机子上,所以先从standby的resourcemanager入手,然后是active的resourcemanager,其次顺序任意)

ssh sdf-resourcemanager2

2、停止journalnode服务

hadoop-daemon.sh stop journalnode

停止resourcemanager服务(这里是rm2所以会执行这一步,如果接下来的journalnode上不存在rm进程则不需要执行)

3、 安装新版本hadoop

切换到root用户

然后建立新hadoop的软链

cd /usr/local

rm -rf hadoop

ln -s /letv/usr/local/hadoop-2.7.2 hadoop

chown - R hadoop:hadoop hadoop

4、启动新版的journalnode

hadoop-daemon.sh start journalnode。

yarn-daemon.sh start resourcemanager。

5、每台journalnode执行1-4操作,没有resourcemanager进程的机子不做rm的重启操作。

注意,一定要等journalnode 完全启动后,才可以执行下一个journalnode的升级操作。可以查看日志,也可以查看/data/hadoop/data2/journal_node/test-cluster/current下的edit文件,看重启journalnode服务的这台服务器是否和其它journalnode节点上相同文件夹的的edit文件同步。同步后,方可继续。

四、Upgrade DataNodes and Nodemanager

1、选择任意一个datanode(集群可以按机架来批量执行),执行

hdfs dfsadmin -shutdownDatanode DATANODE_HOTS:50020 upgrade

yarn-daemon.sh stop nodemanager

完后datanode和nodemanager进程关闭。

2、安装新版本hadoop

切换到root用户

然后建立新hadoop的软链

cd /usr/local

rm -rf hadoop

ln -s /letv/usr/local/hadoop-2.7.2 hadoop

chown - R hadoop:hadoop hadoop

3、启动datanode和nodemanager

hadoop-daemon.sh start datanode

yarn-daemon.sh start nodemanager

4、所有datanode和nodemanager节点执行步骤1、2和3

五、

确定升级完成后,nn1和nn2上执行 hdfs dfsadmin -rollingUpgrade finalize来结束升级操作。Namenode的50070端口页面的提示信息消失。此步骤不可逆,一旦执行,rollbackfsimage文件变为普通的fsimage文件,集群不可再回到升级前的状态
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: