首页 热点资讯 义务教育 高等教育 出国留学 考研考公

怎么将hadoop从2.6换为2.7

发布网友 发布时间:2022-04-24 17:48

我来回答

1个回答

热心网友 时间:2022-04-09 20:47

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文件,集群不可再回到升级前的状态

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com