hadoop(hbase)副本數修改


一、需求場景

隨着業務數據的快速增長,物理磁盤剩余空間告警,需要將數據備份從3份修改為1份,從而快速騰出可用磁盤容量。

二、解決方案

1. 修改hdfs的副本數

Hbase 的數據是存儲在 hdfs 上的,Hbase的副本數是默認讀取hdfs的配置進行副本備份的,所以需要修改hdfs上的副本數據。

2.刪除重復數據

修改hdfs-site.xml的副本數,只能對以后的數據有效,不能修改已經存儲的文件備份數,所以需要刪除多余的數據。

3.負載均衡

可以增加新的存儲節點,並且執行負載均衡策略。將數據均勻的分布到多個數據節點中,最大化的利用數據磁盤。

4.開啟hbase表壓縮

Hbase數據采用的列式存儲,占用空間較大,指定壓縮方式可以很好的減少磁盤的占用。

三、操作步驟

1.修改hdfs副本數

a) 通過CDH的web界面修改:

 

b) 通過hdfs-site.xml修改

 

2.刪除重復數據

該問題網上有很多回答,我這里使用的強制修改備份的方法。

//將HDFS上的數據僅保留一份備份

hadoop fs -setrep -R 1 /

 

// HDFS會為每一個用戶創建一個回收站目錄:/user/用戶名/.Trash/,每一個被用戶通過Shell刪除的文件/目錄,在系統回收站中都一個周期,也就是當系統回收站中的文件/目錄在一段時間之后沒有被用戶回復的話,HDFS就會自動的把這個文件/目錄徹底刪除,之后,用戶就永遠也找不回這個文件/目錄了。如果磁盤占用依舊很大,需要去回收廠手動刪除。

3.負載均衡

修改存儲節點后,使用hdfs用戶shell命令執行:hdfs balancer

4.對現有表修改壓縮方式

disable 'testcompression' //首先將表下線

alter 'testcompression', NAME => 'f1', COMPRESSION => 'SNAPPY' //修改表屬性,指定壓縮方式為SNAPPY

enable 'testcompression' //啟用表

desc 'testcompression' //驗證是否已啟用壓縮放肆

major_compact 'testcompression' //執行大合並

四、查看結果

 

 

 


免責聲明!

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



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