linux

Linux环境下HDFS的版本升级如何操作

小樊
49
2025-10-08 02:59:45
栏目: 智能运维

Linux环境下HDFS版本升级操作指南

一、升级前准备

1. 备份关键数据与配置

2. 检查版本兼容性

3. 下载与解压新版本

二、停止HDFS服务

使用stop-dfs.sh脚本停止所有HDFS服务(NameNode、DataNode):

$HADOOP_HOME/sbin/stop-dfs.sh

或通过systemctl命令(若使用systemd管理):

sudo systemctl stop hadoop-hdfs-namenode
sudo systemctl stop hadoop-hdfs-datanode
```。  


## 三、升级HDFS软件包
1. **解压新版本**:将下载的新版本Hadoop解压至目标目录(如`/opt/hadoop-3.4.0`)。  
2. **更新环境变量**:修改`/etc/profile`或`~/.bashrc`,将`HADOOP_HOME`指向新版本目录,并更新`PATH`:  
   ```bash
   echo "export HADOOP_HOME=/opt/hadoop-3.4.0" >> /etc/profile
   echo "export PATH=\$HADOOP_HOME/bin:\$PATH" >> /etc/profile
   source /etc/profile
   ```。  


## 四、执行升级操作
### 1. 非HA(高可用)集群(停机升级)
- 直接启动升级流程:  
  ```bash
  hdfs namenode -upgrade

2. HA(高可用)集群(滚动升级)

滚动升级可避免集群停机,步骤如下:

  1. 准备滚动升级
    hdfs dfsadmin -rollingUpgrade prepare
    
  2. 升级Standby NameNode
    • 故障切换至Standby NameNode(若Active NameNode为nn1,执行hdfs haadmin -failover nn1 nn2);
    • 在新的Active NameNode上执行升级:
      hdfs namenode -upgrade
      
  3. 升级DataNode
    • 逐个关闭DataNode(避免同时关闭过多节点影响数据可用性):
      hdfs dfsadmin -shutdownDatanode datanode1:50010 upgrade
      
    • 启动DataNode:
      hdfs --daemon start datanode
      
    • 重复上述步骤,直至所有DataNode升级完成。
  4. 完成滚动升级
    hdfs dfsadmin -rollingUpgrade finalize
    ```。  
    
    
    

五、验证升级结果

  1. 检查集群状态
    hdfs dfsadmin -report
    
    确认所有节点(NameNode、DataNode)状态为“Live”,且版本号显示为新版本。
  2. 验证功能正常性
    • 创建测试目录:hdfs dfs -mkdir /test_upgrade
    • 上传测试文件:hdfs dfs -put /local/file.txt /test_upgrade
    • 下载并校验文件:hdfs dfs -get /test_upgrade/file.txt /local/,对比MD5值确保数据一致性。

六、回滚操作(若升级失败)

若升级后出现数据损坏、服务无法启动等问题,需执行回滚:

  1. 停止HDFS服务:同步骤二。
  2. 执行回滚命令
    • 非HA集群:
      hdfs namenode -rollback
      
    • HA集群(滚动升级未完成时):
      hdfs dfsadmin -rollingUpgrade rollback
      
  3. 重启服务:启动旧版本HDFS服务(如start-dfs.sh),恢复至升级前状态。

注意事项

0
看了该问题的人还看了