Hadoop在Linux环境下的版本升级步骤
core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml等),可使用tar命令打包或复制到异地存储,避免升级过程中数据丢失。hadoop version命令查看当前Hadoop集群的版本信息,明确升级的目标版本。cd /path/to/hadoop/bin # 进入Hadoop bin目录
./stop-all.sh # 停止所有Hadoop服务(包括NameNode、DataNode、ResourceManager等)
执行后可通过jps命令确认所有Hadoop守护进程已停止。hadoop-3.4.0.tar.gz),选择稳定 release 版本。/usr/local/),并重命名文件夹为hadoop(便于统一管理):tar -zxvf hadoop-3.4.0.tar.gz -C /usr/local/ # 解压到/usr/local
mv /usr/local/hadoop-3.4.0 /usr/local/hadoop # 重命名文件夹
~/.bashrc(或/etc/profile)文件,更新HADOOP_HOME环境变量指向新版本目录,并将Hadoop的bin、sbin目录添加到PATH中:export HADOOP_HOME=/usr/local/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
source ~/.bashrc(或source /etc/profile)使环境变量生效。conf目录下的配置文件复制到新版本的conf目录中(如cp -r /usr/local/hadoop-3.3.0/conf/* /usr/local/hadoop/conf/)。hadoop-env.sh:更新JAVA_HOME为新系统的Java路径(如export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64)。core-site.xml:检查fs.defaultFS(HDFS的默认文件系统地址)、hadoop.tmp.dir(临时目录)等参数是否符合新版本要求。hdfs-site.xml:若升级涉及HDFS文件格式变更(如从HDFS 2.x升级到3.x),需调整dfs.namenode.name.dir(NameNode元数据目录)、dfs.datanode.data.dir(DataNode数据目录)等参数。yarn-site.xml:调整YARN的资源管理配置(如yarn.nodemanager.resource.memory-mb、yarn.scheduler.maximum-allocation-mb)。mapred-site.xml:更新MapReduce框架的配置(如mapreduce.framework.name设置为yarn)。cd /usr/local/hadoop/sbin
./start-dfs.sh # 启动HDFS服务(NameNode、DataNode)
./start-yarn.sh # 启动YARN服务(ResourceManager、NodeManager)
-upgrade参数启动升级:./hadoop dfsadmin -upgrade
该命令会将旧版本的HDFS元数据升级到新版本格式。jps命令确认所有必要的守护进程已启动(如NameNode、DataNode、ResourceManager、NodeManager)。hadoop dfsadmin -upgradeProgress status命令查看升级进度,确保无错误。hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar pi 10 100),验证新版本的MapReduce功能是否正常。hdfs dfs -ls /命令查看HDFS中的数据是否完整,或使用hdfs fsck命令检查文件系统健康状态。stop-all.sh、start-dfs.sh的输出),便于排查问题。-rollback参数回滚到旧版本:./hadoop dfsadmin -rollback
该命令会将HDFS元数据恢复到升级前的状态。