2017-08-09 77 views
0

我使用Hadoop的FS -rm -skipTrash不起作用

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和fnished在移動文件複製從目錄到一些文件dst目錄

現在我想清理dst目錄。運行後

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

大部分文件已被刪除,但仍有一部分保留(至少HUE顯示的是這個)。奇怪的是,根據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/* 

打了十幾次,總是有更多的文件要刪除(還有)。發生什麼事?

ALSO

我每次刷新頁面色調,文件數量的增長。 HALP。

編輯

看來,在命令行停止DistCp使用實際上不殺工作。這是原因。

+0

你是如何停止命令行的? –

+0

你可以分享'distcp'提交日誌嗎? –

+0

@San Ctrl + c停止。我不能。 – Evgenii

回答

1

Ctrl + C不殺死紗線應用。 distcp使用MapReduce模型來複制數據。當您運行distcp命令時,它會提交紗線應用程序以在hadoop上運行來複制數據。您需要殺死紗線應用程序以停止distcp複製過程。

命令來殺死紗應用:

yarn application -kill <application_id>

0

您可以使用此「-R」:

這從HDFS位置刪除所有文件。

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