HDFS数据块所在存储的目录满了的解决方法
1.增加磁盘空间
2.删除回收站
hadoop dfs -du -h 查看各个HDFS空间占用情况
hadoop dfs -expunge 清空回收站
hadoop dfs -rm -skipTrash /user/path 删除目录跳过回收站
fs.trash.interval 和 fs.trash.checkpoint.interval
dfs.replication.interval复制延迟时间为3秒,默认值。
单机Hadoop修改/etc/hadoop/core-site.xml,增加如下配置:
<!-- 开启hdfs文件删除自动转移到垃圾箱,值为垃圾箱文件清除时间,单位是分钟。一般开启该配置比较好,防止删除重要文件。 -->
<property>
<name>fs.trash.interval</name>
<value>1440</value>
<description>Number of minutes after which the checkpoint gets deleted. If zero, the trash feature is disabled.</description>
</property>
<property>
<name>fs.trash.checkpoint.interval</name>
<value>0</value>
<description>Number of minutes between trash checkpoints. Should be smaller or equal to fs.trash.interval. If zero, the value is set to the value of fs.trash.interval.</description>
</property>
属性介绍:
fs.trash.interval:丢进回收站中的文件多久后(准确的说是多少分钟后)会被系统永久删除;这里1440是1天,默认是0.单位分钟。这里我设置的是1天(60*24)
fs.trash.checkpoint.interval:前后两次检查点的创建时间间隔(单位也是分钟);新的检查点被创建后,随之旧的检查点就会被系统永久删除;