Ubuntu环境下HDFS版本升级步骤及注意事项
fsimage、edits文件)和DataNode数据块进行完整备份。可通过hdfs dfsadmin -saveNamespace命令备份NameNode元数据,同时将/path/to/hadoop/conf目录下的core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml等配置文件复制到安全位置(如/path/to/hadoop/conf.old)。hdfs dfsadmin -report命令确认集群所有节点(NameNode、DataNode)状态正常(无宕机、无数据块丢失)。仔细阅读新版本官方升级指南,确认新版本与Ubuntu系统版本(如Ubuntu 22.04/24.04)、Hadoop生态组件(如YARN、Hive、Spark)的兼容性,避免因版本冲突导致升级失败。hadoop-3.3.6.tar.gz),上传至Ubuntu服务器(如/bigdata目录),执行tar -zxvf hadoop-3.3.6.tar.gz解压,并修改所有者为Hadoop运行用户(如chown -R hdfs:hadoop /bigdata/hadoop-3.3.6)。/etc/profile文件,添加新版本Hadoop路径:export HADOOP_HOME=/bigdata/hadoop-3.3.6,并将$HADOOP_HOME/bin追加到PATH变量中(如export PATH=$PATH:$HADOOP_HOME/bin)。执行source /etc/profile使环境变量生效。conf目录下的配置文件复制到新版本etc/hadoop目录下,重点修改以下配置:
core-site.xml:更新hadoop.tmp.dir(数据临时目录)、fs.defaultFS(NameNode地址)等路径;hdfs-site.xml:调整dfs.replication(副本数)、dfs.namenode.name.dir(NameNode元数据目录)、dfs.datanode.data.dir(DataNode数据目录)等参数;core-site.xml中的hadoop.security.authentication为kerberos,并配置krb5.conf相关参数。滚动升级可在不停止集群服务的情况下逐个升级节点,最大程度减少对业务的影响,适用于高可用(HA)集群。
hdfs dfsadmin -rollingUpgrade prepare命令,创建回滚所需的fsimage文件;执行hdfs dfsadmin -rollingUpgrade query检查状态,直到返回“Proceed with rolling upgrade”(可继续升级)。hdfs haadmin -failover standby-name active-name);hdfs --daemon stop namenode);hdfs --daemon start namenode -rollingUpgrade started)。hdfs dfsadmin -shutdownDatanode <datanode_host>:<ipc_port> upgrade关闭DataNode;hdfs --daemon start datanode);http://<namenode_ip>:9870)确认其状态为“Live”。hdfs dfsadmin -rollingUpgrade finalize命令完成升级。此时集群将不再支持回滚到旧版本。若集群未配置HA,需停机升级,步骤如下:
hdfs --daemon stop datanode停止DataNode,然后在NameNode节点执行hdfs --daemon stop namenode停止NameNode。hdfs dfsadmin -upgrade命令,启动升级流程(新版本Hadoop会自动处理数据格式转换)。hdfs --daemon start namenode)和DataNode(hdfs --daemon start datanode),通过hdfs dfsadmin -report检查集群状态,确认所有节点已升级到新版本。hdfs dfsadmin -report查看集群节点列表、数据块数量、副本率等信息,确保所有节点状态正常。hdfs fsck /命令检查文件系统健康状况,确认无损坏的数据块(Corrupt blocks数量为0)。hdfs dfs -put上传文件、hdfs dfs -get下载文件、hdfs dfs -ls列出目录),并提交一个简单的MapReduce或Spark作业,验证业务功能是否正常。fsimage备份已完成,若升级失败,可通过hdfs dfsadmin -rollingUpgrade rollback命令回滚到旧版本。停机升级则需保留旧版本Hadoop安装包,以便重新安装。