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、查看结果

相关文章
相关标签/搜索