如何升级Ubuntu上的Hadoop系统
升级Hadoop系统需谨慎操作,以避免数据丢失或服务中断。以下是基于Ubuntu环境的详细升级步骤及注意事项:
/user目录下的文件)和集群配置文件(core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml等),建议备份至本地磁盘或远程存储(如S3)。可使用hadoop fs -cp命令备份HDFS数据,用cp -r命令备份配置目录。libsnappy1v5、zlib1g等),避免因依赖缺失导致启动失败。可通过sudo apt-get install libsnappy1v5 libsnappy-dev zlib1g zlib1g-dev安装常用依赖。在升级前,需完全停止集群中的所有服务,避免数据损坏。执行以下命令:
cd /path/to/hadoop/bin  # 进入Hadoop bin目录
./stop-all.sh           # 停止所有Hadoop服务(包括NameNode、DataNode、ResourceManager等)
使用jps命令确认所有Hadoop守护进程(如NameNode、DataNode)已停止。
hadoop-3.3.6.tar.gz)。/usr/local/),并重命名文件夹为hadoop:sudo tar -zxvf hadoop-3.3.6.tar.gz -C /usr/local/
sudo mv /usr/local/hadoop-3.3.6 /usr/local/hadoop
/etc/profile文件,添加或修改以下变量(指向新版本Hadoop目录):export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile使环境变量生效。conf.old:cp -r $HADOOP_HOME/conf $HADOOP_HOME/conf.old
conf目录下的配置文件(core-site.xml、hdfs-site.xml、yarn-site.xml等)复制到旧配置目录,覆盖原有文件。需重点检查以下配置:
core-site.xml:确认fs.defaultFS(HDFS地址)是否正确;hdfs-site.xml:检查dfs.replication(副本数)、dfs.namenode.name.dir(NameNode元数据目录)等参数;yarn-site.xml:调整yarn.nodemanager.aux-services(如mapreduce_shuffle)等参数。若从Hadoop 2.x升级到3.x,需使用滚动升级(Rolling Upgrade)功能,逐步升级集群中的每个节点,避免停机。步骤如下:
hdfs dfsadmin -rollingUpgrade prepare
hdfs dfsadmin -rollingUpgrade query检查状态,若返回“Proceed with rolling upgrade”,则可继续。hdfs dfsadmin -rollingUpgrade start
hdfs dfsadmin -shutdownDatanode <datanode_host>:<ipc_port> upgrade  # 关闭DataNode
hadoop-daemon.sh start datanode                                   # 重启DataNode(自动升级)
$HADOOP_HOME/sbin/start-dfs.sh    # 启动HDFS
$HADOOP_HOME/sbin/start-yarn.sh   # 启动YARN
jps命令确认所有守护进程(NameNode、DataNode、ResourceManager、NodeManager)已启动。访问NameNode Web界面(如http://<namenode_host>:9870),查看集群状态是否正常。hadoop fs -put上传文件、hadoop jar hadoop-mapreduce-examples.jar wordcount执行WordCount),确认Hadoop功能正常。若无需回滚,可执行以下命令完成升级(清理旧版本元数据):
hdfs dfsadmin -rollingUpgrade finalize
此操作不可逆,执行后无法回滚到旧版本。
若升级后出现异常(如服务无法启动、数据损坏),可立即执行回滚:
./stop-all.shhdfs dfsadmin -rollingUpgrade rollbackstart-dfs.sh和start-yarn.sh启动集群。通过以上步骤,可安全地将Ubuntu上的Hadoop系统升级到新版本。升级过程中需密切关注日志($HADOOP_HOME/logs),及时处理异常情况。