在 CentOS 上升级 HDFS(Hadoop HDFS) 通常不是“yum update”这么简单,而是有计划地滚动升级或停机升级 Hadoop 集群。下面按常见场景说明怎么做。
hadoop version
hdfs version
# NameNode 元数据
cp -r $HADOOP_HOME/data/dfs/name /backup/name_$(date +%F)
# 配置目录
cp -r $HADOOP_HOME/etc/hadoop /backup/hadoop-etc-$(date +%F)
hdfs dfsadmin -report
hdfs fsck /
适用于 Hadoop 2.7+ / 3.x
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -xzf hadoop-3.3.6.tar.gz -C /opt
cp -r $OLD_HADOOP/etc/hadoop/* $NEW_HADOOP/etc/hadoop/
# 停止旧 DataNode
hadoop-daemon.sh stop datanode
# 启动新 DataNode
$NEW_HADOOP/sbin/hadoop-daemon.sh start datanode
# 先升级 Standby NameNode
hdfs namenode -upgrade
# 再切换并升级 Active NameNode
hdfs dfsadmin -finalizeUpgrade
stop-dfs.sh
mv /opt/hadoop /opt/hadoop-old
mv /opt/hadoop-3.3.6 /opt/hadoop
cp -r /opt/hadoop-old/etc/hadoop/* /opt/hadoop/etc/hadoop/
start-dfs.sh
hdfs namenode -upgrade
hdfs dfsadmin -report
hdfs fsck /
hadoop version
setenforce 0
firewall-cmd --list-all
chown -R hdfs:hadoop /data/hadoop
CentOS 上升级 HDFS = 下载新 Hadoop + 保留配置 + 滚动/停机升级 + 备份元数据
如果你能告诉我:
我可以给你精确的升级命令清单。