hadoop文件误删恢复(官网自带回收站设置)

本文详细解析了Hadoop中垃圾桶功能的配置方法,重点介绍了fs.trash.interval参数的作用及设置,通过实例演示如何在core-site.xml文件中配置,使删除的文件在回收站中保留指定时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

https://hadoop.apache.org/docs/r2.7.4/hadoop-project-dist/hadoop-common/core-default.xml

官网的配置释义

Number of minutes after which the checkpoint gets deleted. If zero, the trash feature is disabled. This option may be configured both on the server and the client. If trash is disabled server side then the client side configuration is checked. If trash is enabled on the server side then the value configured on the server is used and the client configuration value is ignored.

翻译:

分钟数,在此分钟之后,检查点将被删除。 如果为零,则禁用垃圾桶功能。 可以在服务器和客户端上都配置此选项。 如果在服务器端禁用了垃圾箱,则将检查客户端配置。 如果在服务器端启用了垃圾回收,那么将使用服务器上配置的值,而忽略客户端配置值。

配置文件/etc/hadoop/core-site.xml,在其中添加如下信息:
<property>
    <name>fs.trash.interval</name>
    <value>10080</value>
    <description>
      Number of minutes between trash checkpoints. If zero, the trash feature is disabled.
    </description>
</property>

回收站时间为一周(超过则用这个方法无法恢复)
其中10080代表分钟数,即代表删除的文件或目录在".Trash"(回收站)中保留的时间,可自行设置。保存即可。
hdfs dfs -lsr 时暂时看不到.Trash,再删除某个文件或者目录之后, 再次用lsr即可看到所在目录下的回收站.Trash已经建好:

上述可以看见删除的文件

如果恢复可以找到对应删除的文件执行

hdfs dfs -mv /hdfs目录/.Trash/对应的删除文件  /hdfs恢复路径

### 找回被误删Hadoop 用户账户 在分布式存储系统中,Hadoop 的用户管理和权限控制是非常重要的部分。如果用户的账户被误删除,则需要根据具体的情况采取不同的措施来进行恢复。 #### 1. **检查 Kerberos 配置** 如果 Hadoop 使用了 Kerberos 进行身份认证,那么用户账户可能是在 Kerberos KDC 中定义的。此时可以通过以下方式尝试恢复: - 登录到 Kerberos Key Distribution Center (KDC),并查看是否存在备份的日志记录或者历史操作记录。 - 利用 `kadmin` 工具重新创建用户账户。命令如下所示: ```bash kadmin.local -q "addprinc username" ``` 上述命令中的 `username` 是指需要恢复的用户名[^1]。 #### 2. **检查 HDFS 权限配置** 即使用户账户本身被删除,在 HDFS 文件系统的元数据中仍然可能存在与该用户相关的权限设置。这些信息通常保存在 NameNode 的编辑日志 (`edits`) 和 FsImage 文件中。以下是具体的解决办法: - 查看 HDFS 日志文件,确认是否有针对此用户的最近修改记录。 - 如果存在相关记录,可以手动调整 HDFS 权限以匹配原始状态。例如: ```bash hdfs dfs -chown user:group /path/to/directory ``` #### 3. **利用 DataNode 副本机制** 当某个 DataNode 出现故障时,HDFS 自动从其他正常工作的 DataNode 复制丢失的数据块以维持冗余度[^2]。因此即使某些节点上的数据暂时不可访问,只要大多数副本完好无损,就可以通过集群内的同步过程逐步修复受影响的部分。 此外还可以关注以下几个关键指标来判断当前健康状况以及潜在风险点: - 待处理复制请求数量(`pendingReplicationBlocksCount`) - 缺少足够副本次数的区块数目(`underReplicatedBlocksCount`) - 损坏副本总数目(`corruptReplicaBlocksCount`) 下面展示了一段 Java 方法片段用于更新上述统计数值逻辑示例代码: ```java public void updateState() { this.pendingReplicationBlocksCount = pendingReplications.size(); this.underReplicatedBlocksCount = neededReplications.size(); this.corruptReplicaBlocksCount = corruptReplicas.size(); } ``` #### 4. **管理平台的手工干预** 对于像 ManageOne 这样的综合管理系统来说,在发生异常情况下的确有可能需要管理员介入完成特定任务才能恢复正常运作流程[^4]。这意味着即便基础服务层面已经具备一定程度自动化能力但仍不可避免地依赖外部输入辅助决策制定过程。 --- ### 总结 综上所述,要成功找回因意外事件而消失掉的那个 hadoop 客户端账号主要取决于几个方面因素共同作用的结果;包括但不限于kerberos域控制器内部留存痕迹挖掘、namenode持久化结构解析还原路径探索等方面工作都需要逐一落实到位才行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值