在 Linux 上升级 HDFS(通常是 Hadoop 的一部分),需要根据你使用的是 Apache Hadoop 还是 发行版(如 CDH / HDP / CDP) 来区分。下面以 Apache Hadoop HDFS 升级为主说明,并补充常见发行版方式。
# 停止 HDFS
stop-dfs.sh
# 备份 NameNode 目录
cp -r $HADOOP_HOME/data/dfs/name /backup/name_backup
hadoop version
hdfs version
适合测试环境或可接受停机时间
# 1. 停止 HDFS
stop-dfs.sh
# 2. 替换 Hadoop 安装目录
mv hadoop hadoop_old
tar -zxvf hadoop-3.x.tar.gz
ln -s hadoop-3.x hadoop
# 3. 修改配置文件
# 对比 core-site.xml / hdfs-site.xml
# 4. 升级 NameNode 元数据
hdfs namenode -upgrade
# 5. 启动 HDFS
start-dfs.sh
确认无误后:
hdfs namenode -finalizeUpgrade
适合 HDFS 3.x
# 1. 启动滚动升级
hdfs dfsadmin -rollingUpgrade prepare
# 2. 逐个重启 DataNode
# 在每个 DN 上:
hadoop-daemon.sh stop datanode
hadoop-daemon.sh start datanode
# 3. 升级 NameNode
hdfs namenode -rollingUpgrade started
# 4. 重启 NameNode(先 Standby 后 Active)
# 5. 完成升级
hdfs dfsadmin -rollingUpgrade finalize
# 使用 Cloudera Manager
1. 备份数据库
2. 升级 CM
3. 升级 HDFS 服务
4. 执行 Finalize Upgrade
ambari-server upgrade
ambari-agent restart
hdfs-site.xmlnamenode.logVERSION 文件dfs/name-finalizeUpgrade 前确认无误hdfs namenode -rollback
如果你能告诉我:
我可以给你 精确升级步骤。