hadoop(hbase)副本數修改

1、需求場景web

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

2、解決方案負載均衡

1. 修改hdfs的副本數oop

Hbase 的數據是存儲在 hdfs 上的,Hbase的副本數是默認讀取hdfs的配置進行副本備份的,因此須要修改hdfs上的副本數據。spa

2.刪除重複數據xml

修改hdfs-site.xml的副本數,只能對之後的數據有效,不能修改已經存儲的文件備份數,因此須要刪除多餘的數據。blog

3.負載均衡hadoop

能夠增長新的存儲節點,而且執行負載均衡策略。將數據均勻的分佈到多個數據節點中,最大化的利用數據磁盤。ci

4.開啓hbase表壓縮it

Hbase數據採用的列式存儲,佔用空間較大,指定壓縮方式能夠很好的減小磁盤的佔用。

3、操做步驟

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' //執行大合併

4、查看結果

相關文章
相關標籤/搜索