Hadoop 3.0升级

Hadoop 3.1.4升级为3.3.4



非联邦滚动升级

一、准备滚动升级

1.运行命令“hdfs dfsadmin -rollingUpgrade prepare”,为滚动创建一个FsImage。
hdfs dfsadmin -rollingUpgrade prepare

2.运行命令“hdfs dfsadmin -rollingUpgrade query”,检查滚动Image的状态。等一会接着重新运行这个命令直到“Proceed with rolling upgrade”消息出现。
hdfs dfsadmin -rollingUpgrade query

二、升级Active和Standby NNs

1.关闭NN2,然后升级NN2(替换为新版本hadoop)
hdfs --daemon stop namenode

2.用“-rollingUpgrade started”选项,启动NN2作为StandbyNameNode。
hdfs --daemon start namenode -rollingUpgrade started

3.从NN1故障转移到NN2,以使NN2处于Active,NN1处于Standby。
hdfs haadmin -getServiceState nn1
注意:此处的nn1为在hdfs-site.xml中配置的namenode服务的名称。

确定要转为active的namenode的id,这里将namenode1设为active,使用命令行工具进行状态切换:
hdfs haadmin -failover --forcefence --forceactive nn1 nn2

如果手动命令切换不成功,可以命令停止NN1,观察是否自动切换。

4.关闭NN1,然后升级NN1(替换为新版本hadoop)
hdfs --daemon stop namenode

5.用"rollingUpgrade started”选项,启动NN1作为Standby“。
hdfs --daemon start namenode -rollingUpgrade started

三、升级DNs

代码如下(示例):

1.选择一小部分DataNode(所有的DataNode都在一个特定的机架上)。

2.运行命令“hdfs dfsadmin -shutdownDatanode <DATANODE_HOST:IPC_PORT> upgrade”,关闭选中的DataNode
hdfs dfsadmin -shutdownDatanode bigdatanode03:50020 upgrade

这种方式如果不行,直接使用命令停止
hdfs --daemon stop datanode

3.运行命令“hdfs dfsadmin -getDatanodeInfo <DATANODE_HOST:IPC_PORT>”检查等待DataNode关闭

4.升级和重新启动DataNode(替换为新版本hadoop)
hdfs --daemon start datanode

5.在所有选中的机器上运行上边的步骤,一次选中的DataNode可以并行操作。

6.重新运行上边的步骤直到集群中的所有DataNode被升级。

四、结束滚动升级

1.运行“hdfs dfsadmin -rollingUpgrade finalize”结束滚动操作。

观察namenode日志无异常,且fsimage和editlog同步正常,再结束滚动操作。
注意:namenode是否在安全模式 hdfs dfsadmin -safemode leave

非HA的集群升级

一、准备滚动升级

0.进入安全模式
hdfs dfsadmin -safemode enter

解压并复制配置文件:
tar -zxvf hadoop-3.3.4.tar.gz

进入etc/hadoop目录
复制升级前版本配置文件,到升级版本的配置文件中
core-site.xml hadoop-env.sh hdfs-site.xml mapred-site.xml workers yarn-env.sh yarn-site.xml capacity-scheduler.xml fair-scheduler.xml

进入sbin目录
复制运行命令文件到升级版本中
start-dfs.sh start-yarn.sh stop-dfs.sh stop-yarn.sh

1.运行命令“hdfs dfsadmin -rollingUpgrade prepare”,为滚动创建一个FsImage。
hdfs dfsadmin -rollingUpgrade prepare

2.运行命令“hdfs dfsadmin -rollingUpgrade query”,检查滚动Image的状态。等一会接着重新运行这个命令直到“Proceed with rolling upgrade”消息出现。
hdfs dfsadmin -rollingUpgrade query

二、升级NN和SNN

1.关闭SNN
hdfs --daemon stop secondarynamenode

2.关闭和升级NN
hdfs --daemon stop namenode

3.启动NN使用“-rollingUpgrade started”选项。
hdfs --daemon start namenode -rollingUpgrade started

4.升级和重启SNN。
hdfs --daemon start secondarynamenode

三、升级DNs

1.选择一小部分DataNode(所有的DataNode都在一个特定的机架上)。
2.运行命令“hdfs dfsadmin -shutdownDatanode <DATANODE_HOST:IPC_PORT> upgrade”,关闭选中的DataNode
hdfs dfsadmin -shutdownDatanode cdh1:50020 upgrade

3.运行命令“hdfs dfsadmin -getDatanodeInfo <DATANODE_HOST:IPC_PORT>”检查等待DataNode关闭

4.升级和重新启动DataNode

5.在所有选中的机器上运行上边的步骤,一次选中的DataNode可以并行操作。

6.重新运行上边的步骤直到集群中的所有DataNode被升级。

四、结束滚动升级

1.运行“hdfs dfsadmin -rollingUpgrade finalize”结束滚动操作。
hdfs dfsadmin -rollingUpgrade finalize

注意:namenode是否在安全模式 hdfs dfsadmin -safemode leave

问题和方案

问题1:开启simple认证导致,fsimage和editlog同步异常。

Caused by: java.util.concurrent.ExecutionException: org.apache.hadoop.hdfs.server.common.HttpPutFailedException: Image uploading failed, status: 401, url: http://xxx:9870/imagetransfer?imageFile=IMAGE&txid=115964721&storageInfo, message: Authentication required

方案:关闭以下simple认证,异常解决。

hadoop.http.authentication.simple.anonymous.allowed

参照文档:Hadoop官网升级

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值