升级Ubuntu上的Hadoop:分步指南与注意事项
hadoop version命令,记录当前Hadoop的主版本号(如2.10.x、3.3.x),以便后续选择兼容的新版本。hdfs dfsadmin -backup(若有)或手动复制dfs.namenode.dir(NameNode数据目录)、dfs.datanode.dir(DataNode数据目录)下的文件至安全位置;core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml(位于$HADOOP_HOME/etc/hadoop/)。$HADOOP_HOME/sbin/stop-all.sh停止所有Hadoop服务(NameNode、DataNode、ResourceManager、NodeManager等)。hadoop-X.Y.Z.tar.gz)下载。sha512sum hadoop-X.Y.Z.tar.gz命令核对)。tar -xzvf hadoop-X.Y.Z.tar.gz -C /opt/  # 解压至/opt目录
mv /opt/hadoop-X.Y.Z /opt/hadoop       # 重命名为hadoop(可选)
~/.bashrc(或/etc/profile),添加以下内容:export HADOOP_HOME=/opt/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
source ~/.bashrc使配置生效。$HADOOP_HOME/etc/hadoop/下的配置文件:
fs.defaultFS(如hdfs://namenode:9000)、hadoop.tmp.dir(临时目录);dfs.replication(副本数)、dfs.namenode.name.dir(NameNode元数据目录)、dfs.datanode.data.dir(DataNode数据目录);yarn.resourcemanager.hostname(ResourceManager主机)、yarn.nodemanager.aux-services(NodeManager辅助服务,如mapreduce_shuffle);mapreduce.framework.name为yarn(若使用YARN)。$HADOOP_HOME/bin/start-dfs.sh -upgrade,启动HDFS并触发升级流程。此命令会将旧版本的HDFS数据升级至新版本格式。$HADOOP_HOME/bin/hadoop dfsadmin -upgradeProgress status,查看升级状态(如“Upgrading”表示正在进行,“Rollback”表示可回滚,“Finalize”表示可完成)。$HADOOP_HOME/bin/hadoop dfsadmin -finalizeUpgrade,确认升级完成并清理旧版本数据。jps命令,确认以下进程正常运行:
hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar pi 10 100),验证任务是否能正常提交、运行并输出结果。若升级后出现数据丢失、服务异常等问题,可立即执行回滚:
$HADOOP_HOME/sbin/stop-all.sh;$HADOOP_HOME/bin/start-dfs.sh -rollback,恢复旧版本HDFS数据;$HADOOP_HOME/sbin/start-all.sh,恢复旧版本服务。注意事项:
libhadoop.so),并安装必要依赖(如libsnappy-dev);