温馨提示×

centos怎样升级hdfs

小樊
49
2026-09-24 16:55:28
栏目: 智能运维

在 CentOS 上升级 HDFS(Hadoop HDFS) 通常不是“yum update”这么简单,而是有计划地滚动升级或停机升级 Hadoop 集群。下面按常见场景说明怎么做。


一、升级前必须做的事(非常重要)

1. 确认当前版本

hadoop version
hdfs version

2. 查看官方兼容性

  • 确认目标 Hadoop 版本支持当前 JDK
  • 查看 Hadoop 官方升级说明
    https://hadoop.apache.org/docs/

3. 备份关键数据

# NameNode 元数据
cp -r $HADOOP_HOME/data/dfs/name /backup/name_$(date +%F)

# 配置目录
cp -r $HADOOP_HOME/etc/hadoop /backup/hadoop-etc-$(date +%F)

4. 确保集群健康

hdfs dfsadmin -report
hdfs fsck /

二、两种升级方式

✅ 方式一:滚动升级(推荐,生产环境)

适用于 Hadoop 2.7+ / 3.x

步骤

  1. 下载新版本 Hadoop
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
  1. 复制旧配置文件
cp -r $OLD_HADOOP/etc/hadoop/* $NEW_HADOOP/etc/hadoop/
  1. 逐个升级 DataNode
# 停止旧 DataNode
hadoop-daemon.sh stop datanode

# 启动新 DataNode
$NEW_HADOOP/sbin/hadoop-daemon.sh start datanode
  1. NameNode 升级
# 先升级 Standby NameNode
hdfs namenode -upgrade

# 再切换并升级 Active NameNode
  1. 完成升级
hdfs dfsadmin -finalizeUpgrade

✅ 方式二:停机升级(简单,适合测试环境)

  1. 停止集群
stop-dfs.sh
  1. 替换 Hadoop 目录
mv /opt/hadoop /opt/hadoop-old
mv /opt/hadoop-3.3.6 /opt/hadoop
  1. 复制配置
cp -r /opt/hadoop-old/etc/hadoop/* /opt/hadoop/etc/hadoop/
  1. 启动集群
start-dfs.sh
  1. 执行升级(如有必要)
hdfs namenode -upgrade

三、升级后检查

hdfs dfsadmin -report
hdfs fsck /
hadoop version

四、常见坑(CentOS 特有)

  • JDK 版本不匹配(Hadoop 3.x 建议 JDK 8/11)
  • SELinux 拦截
setenforce 0
  • 防火墙未放行端口
firewall-cmd --list-all
  • 数据目录权限问题
chown -R hdfs:hadoop /data/hadoop

五、一句话总结

CentOS 上升级 HDFS = 下载新 Hadoop + 保留配置 + 滚动/停机升级 + 备份元数据

如果你能告诉我:

  • Hadoop 当前版本
  • 目标版本
  • 是否是生产集群

我可以给你精确的升级命令清单。

0 踩