更新时间:2025-08-04 GMT+08:00
分享

配置HDFS文件回收站机制

操作场景

HDFS的回收站机制是一种数据保护机制,它允许用户在删除文件或目录后,将其暂时存储在一个特定的位置,而不是立即永久删除。当用户误删除重要数据时,可以从回收站中恢复数据,避免数据永久丢失。

被删除的文件会被移动到用户主目录下的“.Trash”目录中,路径通常为“hdfs://<nameservice>/user/<username>/.Trash”。

  • 优点:
    • 防止误删除导致的数据丢失,提供数据恢复能力。
    • 符合数据安全和合规性要求,尤其适用于生产环境。
  • 缺点:
    • 占用额外的存储空间,尤其是在大量删除操作时。
    • 若配置不当(如保留时间过长),可能影响NameNode性能。

用户可以调整HDFS文件保留在回收站中的时间阈值,一旦文件保存时间超过此阈值,将从回收站中永久地删除。如果回收站被清空,回收站中的所有文件也将被永久删除。

回收站参数配置建议:

  • 合理配置回收站文件保存时间:根据数据重要性设置保留时间,例如生产环境设为 7 天(10080分钟),测试环境可设为更短时间。
  • 定期清理:结合业务需求,定期通过hdfs dfs -expunge -immediate命令释放存储空间。
  • 谨慎使用-skipTrash参数:仅在确认数据无需保留时使用该参数绕过回收站机制,避免误操作删除重要数据。

    MRS 3.1.3及之后版本集群,-skipTrash默认禁止,可参考以下操作开启:登录Manager,选择“集群 > 服务 > HDFS > 配置 > 全部配置”,搜索并设置“dfs.client.skipTrash.enabled”(表示HDFS客户端命令行hdfs dfs -rm中是否允许使用-skipTrash选项跳过回收站删除数据)参数值为“true”,重启配置过期的服务或实例,并参考服务端配置过期后更新MRS集群客户端更新客户端。

  • 结合备份策略:回收站是数据保护的最后一道防线,建议搭配定期备份机制。

配置HDFS回收站参数

  1. 登录FusionInsight Manager。

    登录集群Manager具体操作,请参考访问MRS集群Manager

  2. 选择“集群 > 服务 > HDFS > 配置 > 全部配置”。
  3. 根据实际需要搜索并修改表1相关参数。

    表1 参数说明

    参数

    描述

    配置示例

    fs.trash.interval

    回收站中文件保留时间,文件被移入回收站的时间超过此参数值后,会被永久删除。建议合理配置,以减少因误删导致的数据丢失风险。

    • 单位:分钟。
    • 取值范围:1440~259200。

    2880

    fs.trash.checkpoint.interval

    配置回收站检查点间隔时间。应小于等于“fs.trash.interval”参数的值。

    检查点程序每次运行时都会创建一个新的检查点并会移除“fs.trash.interval”分钟前创建的检查点。例如,系统每10分钟检测是否存在老化文件,如果发现有老化文件,则删除。对于未老化文件,则会存储在checkpoint列表中,等待下一次检查。

    不推荐将此参数值设置为0。此参数的值设置为0表示系统不会检查老化文件,所有老化文件会被保存在系统中,可能导致集群的磁盘空间不足。

    • 单位:分钟。
    • 取值范围:0~fs.trash.interval

    60

  4. 修改完成后单击“保存”,确认操作影响后单击“确定”。
  5. 等待操作成功后,单击“完成”,配置已修改。

    查看集群是否存在配置过期的实例,如果存在,需重启配置过期的实例使配置生效。

相关文档