博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hadoop 设置回收站
阅读量:5007 次
发布时间:2019-06-12

本文共 1155 字,大约阅读时间需要 3 分钟。

我的问题是:hadoop回收站为什么会保留多个过期时间的数据
 
我们知道hadoop的回收站是在我们删除数据后能恢复的目录,但是我们并不希望在回收站保存太久的数据,我们可以使用如下参数进行配置。
 
在core-site.xml中配置如下参数
<property>
<name>fs.trash.interval</name>
<value>5</value>
</property>
 
<property>
<name>fs.trash.checkpoint.interval</name>
<value>5</value>
</property>
 
参数介绍:
fs.trash.interval=0
 
以分钟为单位的垃圾回收时间,垃圾站中数据超过此时间,会被删除。如果是0,垃圾回收机制关闭。
可以配置在服务器端和客户端。
如果在服务器端配置trash无效,会检查客户端配置。如果服务器端配置有效,客户端配置会忽略。
 
建议开启,建议4320(3天)
垃圾回收站,如有同名文件被删除,会给文件顺序编号,例如:a.txt,a.txt(1)
 
fs.trash.checkpoint.interval=0
 
以分钟为单位的垃圾回收检查间隔。应该小于或等于fs.trash.interval。如果是0,值等同于fs.trash.interval。每次检查器运行,会创建新的检查点。
 
建议设置为60(1小时)
 
我遇到的情况:
测试环境,只配置了fs.trash.interval参数,参数内容如下
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
 
checkpoint并没有配置,那检测点应该是按天来检测,我们可以在namenode的日志中看到
 
这样就会导致我回收站里会存放两天的数据,现在集群的空间不是很足,不希望保存那么久的数据在回收站里
 
 
原因分析:
导致上面的问题所在是因为,日志过期时间为1天,数据监测间隔没有设置,默认值是跟过期时间一样也是一天,这样就是当我日志在晚上18:56删除的时候,早上检测点是8点,由于时间没有过期,所以会保留昨天18:56的数据,然后今天晚上的18:56也会删除数据,所以最后导致会存两天的垃圾数据。
 
应该怎么解决了,可以如下解决:
修改检测点,调整fs.trash.checkpoint.interval为2小时
<property>
<name>fs.trash.checkpoint.interval</name>
<value>120</value>
</property>

转载于:https://www.cnblogs.com/gentlemanhai/p/7793982.html

你可能感兴趣的文章
javascript基本概念
查看>>
css3 属性——calc()
查看>>
【Restful】三分钟彻底了解Restful最佳实践
查看>>
异步编程的方法
查看>>
IPv6攻击测试开源工具包-THC IPV6
查看>>
VS添加节点
查看>>
MapReduce之知识整理
查看>>
sed 常用操作纪实
查看>>
C++复习:对C的拓展
查看>>
linux设置静态IP和DNS以及改网卡名
查看>>
连续字符换行 溢出点点点 多行省略
查看>>
nodejs全局变量设置设置
查看>>
二分查找法(递归和非递归算法)
查看>>
C# DevExpress TreeList指定KeyFieldName后无法显示该列的问题
查看>>
多条记录的同一字段组合成一个字符串 FOR XML PATH
查看>>
APUE学习笔记——10.9 信号发送函数kill、 raise、alarm、pause
查看>>
剑指Offer面试题33(java版):把数组排成最小的数
查看>>
jquery中的 $(function(){ .. }) 函数
查看>>
奇怪的国家
查看>>
Linux nohup命令详解
查看>>