2017-08-02 461 views
0

CDH ver 5.3從Cloudera Manager安裝。【Hadoop】刪除/ tmp/logs/hive/logs/hive下的文件夾時會發生什麼

我使用蜂巢星團,以及其他服務的設置是這樣的:
・yarn.nodemanager.remote-app-log-dir=/tmp/logs ・yarn.nodemanager.remote-app-log-dir-suffix=logs ・replication setting is 2

我有一個麻煩/tmp/logs/hive/logs/下刪除文件夾。
特別/tmp/logs/hive/logs/hive

我試圖通過使用HDFS命令來刪除/tmp/logs/hive/logs/hive/xxxxxxx.xxxxxxx,但文件夾的大小太大,無法刪除。

甚至hadoop fs -ls /tmp/logs/hive/logs/hive/沒有工作......(沒有從HDFS的答案。(大小几乎3TB))

所以不是,我決定用[FS的Hadoop -rmr的/ tmp /日誌/蜂巢/日誌/蜂巢/ *]。但是,我不知道如果我使用這個命令會發生什麼事(我擔心某個地方無法訪問,因此)。

有什麼問題嗎?或者有一個好主意來解決這個問題(我不想重啓我的集羣)。

+0

我的5美分:可能你需要在rmr命令中加上'-skipThrash'選項 – leftjoin

回答

0

HDFS目錄/tmp/logs是用於Mapreduce的默認位置日誌聚合;另外還有一個重要的財產這是...

yarn.log-aggregation.retain-seconds:多久之前, 刪除彙總,日誌,-1或負數禁用 刪除聚集日誌的等待。
需要注意,並且不要將 設置爲太小,以免給分佈式文件系統造成負擔。

    https://fr.hortonworks.com/blog/simplifying-user-logs-management-and-access-in-yarn/

典型的羣集清除MR登錄後5至30天,這取決於活動(也許合規性要求)。如果你從不清除任何東西,那麼遲早你肯定會撞牆......!


好的,如果你真的需要手動清除那些東西 整體,你可以這樣做。從徹底轉變到徹底轉變 - 無論什麼都不清除 - 但無論如何,這都有點荒謬。

對於上面的博客文章,你可以注意到,/tmp/logs必須設置爲1777,即訪問權限「用戶的讀/寫/執行, 組讀/寫/執行,其他的讀/寫/執行和粘滯位設置「(就像/tmp);並且其組所有權也必須與運行NodeManager服務的服務帳戶的主要組匹配。

換句話說:任何人都可以在那裏創建一個子目錄;粘性位和羣組所有權技巧意味着YARN和創建者都可以讀取/寫入/清除日誌文件 - 但是沒有其他人。

現在有趣的部分是,新用戶啓動其第一個MapReduce作業將自動創建一個以他/她名字命名的新子目錄,再加上一個logs/子子目錄;並且HiveServer2在hive服務帳戶下運行的第一個查詢自動創建hive/hive/logs/子目錄。
= >如果刪除這些子目錄,那麼他們將被自動在下次運行
= >重建,但如果你將其刪除一個HS2會話正在運行的查詢,那麼查詢可能會和好如初當試圖在HDFS上推送它的日誌時!

+0

謝謝你的回答!所以,我決定不執行上面的命令。我會找到另一種減少數據量的方法。 –

相關問題