rm-skiptrash不起作用

6bc51xsx  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(538)

我把一些文件从一个目录复制到另一个目录

hadoop distcp -Dmapreduce.job.queuename=adhoc /user/comverse/data/$CURRENT_DATE_NO_DASH_*/*rcr.gz /apps/hive/warehouse/arstel.db/fair_usage/fct_evkuzmin04/file_rcr/

我在雪还没完就把它停了下来,雪还剩下很多 .distcp.tmp.attempt 以及在dst目录中移动的文件
现在我要清理dst目录。运行后

hadoop fs -rm -skipTrash /apps/hive/warehouse/arstel.db/fair_usage/fct_evkuzmin04/file_mta/*

大部分文件都被删除了,但仍有一些文件保留了下来(至少hue是这么说的)。奇怪的是,每次我跑 hadoop fs -rm -skipTrash ,根据色调,剩余文件的数量会变多变少。
我试过了

hadoop fs -ls /apps/hive/warehouse/arstel.db/fair_usage/fct_evkuzmin04/file_mta/

看到一些应该删除的文件还在那里。然后我就跑

hadoop fs -rm -skipTrash /apps/hive/warehouse/arstel.db/fair_usage/fct_evkuzmin04/file_mta/*

十几次了,总是有更多的文件要删除(仍然有)。发生了什么事?

每次我以色调刷新页面时,文件的数量都会增加。哈尔普。
编辑
似乎在命令行中停止distcp实际上并不会终止作业。这就是原因。

oxalkeyp

oxalkeyp1#

你可以用这个“-r”:
这将从hdfs位置删除所有文件。

hadoop fs -rm -R -skipTrash /apps/hive/warehouse/arstel.db/fair_usage/fct_evkuzmin04/file_mta/*
fykwrbwg

fykwrbwg2#

Ctrl + C 不会终止Yarn应用程序。 distcp 使用 MapReduce 复制数据的模型。当你跑的时候 distcp 命令它提交应用程序在hadoop上运行以复制数据。您需要关闭Yarn应用程序才能停止 distcp 复制过程。
终止应用程序的命令: yarn application -kill <application_id>

相关问题