如何升级 Ubuntu 上的 Hadoop
导读:升级Ubuntu上的Hadoop:分步指南与注意事项 一、升级前准备 确认当前Hadoop版本 运行hadoop version命令,记录当前Hadoop的主版本号(如2.10.x、3.3.x),以便后续选择兼容的新版本。 检查生态组件兼...
升级Ubuntu上的Hadoop:分步指南与注意事项
一、升级前准备
- 确认当前Hadoop版本
运行hadoop version
命令,记录当前Hadoop的主版本号(如2.10.x、3.3.x),以便后续选择兼容的新版本。 - 检查生态组件兼容性
Hadoop与Zookeeper、HBase、Hive、Spark等组件的版本需匹配(参考Hadoop生态系统版本兼容性表)。例如:- Hadoop 3.3.x需搭配Zookeeper 3.6.x+、Hive 3.1.x+、Spark 3.1.x+;
- 若升级至Hadoop 3.x,需确保Java版本为8或11(Hadoop 2.x支持Java 7或8)。
- 备份关键数据与配置
- 备份HDFS数据:
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/
)。
- 备份HDFS数据:
- 停止Hadoop集群
运行$HADOOP_HOME/sbin/stop-all.sh
停止所有Hadoop服务(NameNode、DataNode、ResourceManager、NodeManager等)。
二、下载与解压新版本Hadoop
- 下载官方二进制包
访问Apache Hadoop Releases页面(或国内镜像站,如清华大学开源镜像站),选择目标版本(如3.3.6)的二进制包(hadoop-X.Y.Z.tar.gz
)下载。 - 验证文件完整性
下载后通过SHA512校验码确认文件未被篡改(官网提供校验码,使用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配置文件
根据新版本要求调整$HADOOP_HOME/etc/hadoop/
下的配置文件:- core-site.xml:更新
fs.defaultFS
(如hdfs://namenode:9000
)、hadoop.tmp.dir
(临时目录); - hdfs-site.xml:调整
dfs.replication
(副本数)、dfs.namenode.name.dir
(NameNode元数据目录)、dfs.datanode.data.dir
(DataNode数据目录); - yarn-site.xml:配置
yarn.resourcemanager.hostname
(ResourceManager主机)、yarn.nodemanager.aux-services
(NodeManager辅助服务,如mapreduce_shuffle
); - mapred-site.xml:设置
mapreduce.framework.name
为yarn
(若使用YARN)。
- core-site.xml:更新
四、启动升级流程
- 初始化升级(首次升级或HDFS格式变化时)
运行$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
命令,确认以下进程正常运行:- NameNode、DataNode(HDFS);
- ResourceManager、NodeManager(YARN)。
- 运行测试任务
执行简单的MapReduce任务(如hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar pi 10 100
),验证任务是否能正常提交、运行并输出结果。
六、回滚计划(可选但重要)
若升级后出现数据丢失、服务异常等问题,可立即执行回滚:
- 停止集群:
$HADOOP_HOME/sbin/stop-all.sh
; - 回滚HDFS:
$HADOOP_HOME/bin/start-dfs.sh -rollback
,恢复旧版本HDFS数据; - 重启集群:
$HADOOP_HOME/sbin/start-all.sh
,恢复旧版本服务。
注意事项:
- 升级前务必在测试环境验证步骤,避免生产环境故障;
- 若从Hadoop 2.x升级至3.x,需额外检查Native库兼容性(如
libhadoop.so
),并安装必要依赖(如libsnappy-dev
); - 生产环境建议使用集群管理工具(如Ambari、Cloudera Manager)简化升级流程。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何升级 Ubuntu 上的 Hadoop
本文地址: https://pptw.com/jishu/720488.html