手動刪除HDFS過期數據清理磁盤空間並將刪除的數據進行掛載備份處理


硬盤掛載:將Hadoop集群中部分文件掛載到B服務器上(B服務器有足夠的空間去存儲集群服務器上的文件)

應用場景:

由於hdfs數據量過多,導致磁盤可用空間不足,需要刪除過期的數據騰出空間,同時又要將被刪除的數據進行備份處理,以免后期復用

 

需要刪除的文件的hdfs目錄:bin/hdfs dfs -ls /ibc/datalogs/apachelogs/archive/2018/201801*

刪除的文件需要掛載備份到此目錄下:/home/bigdata/mnt/backup

解釋:

/ibc/datalogs/apachelogs/archive/2018/201801*  ---此目錄為將要刪除的hdfs文件目錄

/home/bigdata/mnt/backup    --文件掛載的目錄

1.首先在bigdata用戶下,創建目錄mnt/backup    -- 即為 /home/bigdata/mnt/backup

2.切換到root用戶,cd /home/bigdata/mnt/backup目錄后,輸入mount 10.10.3.201:/vol/bd_backup .

解釋:

10.10.3.201:/vol/bd_backup --即為B服務器的目錄地址,也就是掛載的服務器地址目錄

3.掛載完之后,輸入命令 df -h

去驗證是否已經掛載成功,以及實時的查看掛載情況,磁盤使用以及剩余量

  

4.由於使用的是root用戶去掛載的,所以此時該目錄 /home/bigdata/mnt/backup 所屬用戶以及用戶組為root,下一步將mnt目錄的用戶或用戶組權限改為nobody,同時賦予777權限,此時backup目錄的權限依然是root

 

5.再次切換到bigdata用戶下,切換到hdfs目錄執行命令:

 bin/hdfs dfs -get /ibc/datalogs/apachelogs/archive/2018/201801* /home/bigdata/mnt/backup

此時控制台會打印“WARN hdfs.DFSClient: DFSInputStream has been closed already”,說明掛載備份已經開始了

 

6.這時切換到/home/bigdata/mnt/backup目錄下,可以看到hdfs數據已經加載進來了

 

7.配置B服務器重啟后,掛載的數據不會丟失,這里是將掛載的路徑寫進去,重啟后自動加載

 

8.由於我們執行掛載操作的目的是為了清理A服務器上過期的文件,此時過期的文件是hdfs上的2018年1月到6月的日志數據,需要使用命令去刪除:

 [bigdata]: bin/hdfs dfs -rm -r /ibc/datalogs/apachelogs/archive/2018/201801*

 [bigdata]: bin/hdfs dfs -rm -r /ibc/datalogs/apachelogs/archive/2018/201802*

 [bigdata]: bin/hdfs dfs -rm -r /ibc/datalogs/apachelogs/archive/2018/201803*

 [bigdata]: bin/hdfs dfs -rm -r /ibc/datalogs/apachelogs/archive/2018/201804*

 [bigdata]: bin/hdfs dfs -rm -r /ibc/datalogs/apachelogs/archive/2018/201805*

9.刪除完成后,確認一下文件是否成功從磁盤上刪除,可以去網頁上查看一下節點信息,發現集群中的磁盤空間並沒有增加,實際上我們刪除的文件還存在磁盤上,只是數據存在回收站

 

10.進入回收站,找到刪除的文件徹底從回收站移除

 bin/hdfs dfs -ls /user/bigdata/.Trash/191025092901/ibc/datalogs/apachelogs/archive

11.再次確認磁盤空間是否增加,發現集群中各服務器磁盤空間可用量增到90G左右,但是發現10.10.4.3這台服務器只有11.2G可用,此時還需做一下負載均衡操作

 

12.hdfs負載均衡,執行命令:sbin/start-balancer.sh -threshold 5

--此處的‘5’代表閾值 5%,意思就是每台機器的磁盤可用量相差在5%以內 

13.執行完之后再次查看確認,發現原先只有11G空間的服務器現在已經有70多G可用了

總結:徹底刪除hdfs上的文件,需要注意的是由於集群啟動了回收站功能,由於設置的是7天內自動清理回收站,所以想要立馬清理出內存,需要去回收站清理刪除文件,目錄為/user/bigdata/.Trash


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM