Hadoop 集群磁盘满了怎么办?使用 /data 分区迁移 Hadoop 数据目录


在配置 Hadoop 高可用集群过程中,发现根分区(/)磁盘已满,而 /data 分区还有大量空间。以下是迁移 Hadoop 数据目录到 /data 分区的实战过程和注意事项。

1. 检查磁盘使用情况

使用命令:

df -h

可以看到:

  • / 分区:914G 已用 100%
  • /data 分区:1.1T 空闲 874G

2. 停止 Hadoop 服务

stop-all.sh

3. 移动 Hadoop 数据目录到 /data

假设 Hadoop 的数据目录为 /hadoop/data:

sudo mv /hadoop/data /data/

4. 创建符号链接以保持路径兼容

ln -s /data/data /hadoop/data

这样原有路径依然可以使用,Hadoop 配置无需更改。

5. 修改目录权限

由于使用 sudo 创建 /data 目录,其所有者通常是 root,需要更改权限:

sudo chown -R hadoop:hadoop /data
sudo chmod -R 755 /data

根据你的实际 Hadoop 运行用户替换 hadoop:hadoop。

6. (可选)修改配置文件

如果你不使用符号链接,而是直接希望 Hadoop 读取 /data 下的新路径,需要修改如下配置文件:

  • hdfs-site.xml
<property>
  <name>dfs.datanode.data.dir</name>
  <value>/data/hadoop/data</value>
</property>
  • 其他如 core-site.xml、yarn-site.xml 也可按需调整。

7. 启动 Hadoop 服务

start-all.sh

总结

  • 推荐方案:使用符号链接,无需改配置
  • 进阶方案:直接改配置,需注意配置一致性
  • 确保 /data 目录权限正确,避免 Hadoop 无法写入

这一系列操作可以有效释放根分区压力,提升系统稳定性。


文章作者: QT
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 QT !
赏
 上一篇
下一篇 
JetBrains Gateway 在大数据集群开发中的远程调试实践 JetBrains Gateway 在大数据集群开发中的远程调试实践
本文记录在配置 JetBrains Gateway 连接远程 Hadoop/Spark 高可用集群时遇到的报错及排查过程,包括 host-status 异常、clash 脚本权限问题以及 SFTP 子系统的配置细节。
  目录