我把一些文件从一个目录复制到另一个目录
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实际上并不会终止作业。这就是原因。
2条答案
按热度按时间oxalkeyp1#
你可以用这个“-r”:
这将从hdfs位置删除所有文件。
fykwrbwg2#
Ctrl + C
不会终止Yarn应用程序。distcp
使用MapReduce
复制数据的模型。当你跑的时候distcp
命令它提交应用程序在hadoop上运行以复制数据。您需要关闭Yarn应用程序才能停止distcp
复制过程。终止应用程序的命令:
yarn application -kill <application_id>