美文网首页
HDFS删除文件

HDFS删除文件

作者: 只是甲 | 来源:发表于2021-03-10 18:53 被阅读0次

    一.删除HDFS上的文件

    需求:删除HDFS上的一个文件

    代码:

    -- 查看文件
    hadoop fs -ls /user/hive/warehouse
    -- 删除文件
    hadoop fs -rm  /user/hive/warehouse/test.txt
    

    测试记录:

    [root@hp1 hue-httpd]# hadoop fs -ls /user/hive/warehouse
    Found 2 items
    drwxrwxrwt   - root hive          0 2020-11-25 19:15 /user/hive/warehouse/test.db
    -rw-rw-rw-   3 root hive         16 2020-11-25 14:53 /user/hive/warehouse/test.txt
    [root@hp1 hue-httpd]# 
    [root@hp1 hue-httpd]# hadoop fs -rm /user/hive/warehouse/test.txt
    20/11/26 10:35:24 INFO fs.TrashPolicyDefault: Moved: 'hdfs://nameservice1/user/hive/warehouse/test.txt' to trash at: hdfs://nameservice1/user/root/.Trash/Current/user/hive/warehouse/test.txt
    [root@hp1 hue-httpd]# 
    [root@hp1 hue-httpd]# hadoop fs -ls /user/root/.Trash/Current/user/hive/warehouse/
    Found 1 items
    -rw-rw-rw-   3 root hive         16 2020-11-25 14:53 /user/root/.Trash/Current/user/hive/warehouse/test.txt
    

    从上面测试的记录可以看到, 从hdfs上删除的文件,并没有直接被删除,而是移动到了回收站。
    如果需要跳过回收站,直接删除,可以使用-skipTrash参数

    -- 跳过回收站  直接进行删除
    hadoop fs -rm -skipTrash /user/hive/warehouse/test.txt
    

    二.HDFS的回收站

    生产环境的hive中,经常大批量的加载及运算数据,例如清理一些临时表。但是清理了表之后,发现hdfs的空间并没有相对应的减少。如果需要收缩空间,可以考虑清空回收站。

    生产环境谨慎使用,容易出问题

    -- 清空hdfs的回收站
    hdfs dfs -expunge
    

    测试记录:
    因为root权限不够,先通过sudo -u hdfs 切换到hdfs用户下

    [root@hp1 hue-httpd]# sudo -u hdfs hdfs  dfs -expunge     
    [root@hp1 hue-httpd]# 
    

    参考

    1.《Hadoop权威指南》
    2.https://blog.csdn.net/abyslll/article/details/88313961

    相关文章

      网友评论

          本文标题:HDFS删除文件

          本文链接:https://www.haomeiwen.com/subject/hjjaiktx.html