欢迎投稿

今日深度:

Hbase之文件压缩,

Hbase之文件压缩,


hbase为什么压缩文件:

  • 1.节省HDFS的存储空间,缓解存储压力
  • 2.减少网络传输的数据,减轻网络传输负载

HBase配置压缩前hadoop需要支持压缩,关于hadoop的压缩可以参考:第五记·Hadoop SSH免秘钥配置以及本地native配置

hbase什么时候需要压缩:

HBase压缩的三个阶段:

  • 1.在数据进入HDFS之前进行压缩
  • 2.在MapRecduce的shuffle过程中:Map完成 Reduce开始阶段 数据在节点之间传输的时候进行压缩
  • 3.数据处理完成存到HDFS之上的时候进行压缩

1、查看Hadoop是否支持压缩:

$ bin/hadoop checknative

结果

2、检查当前HBase是否支持压缩:

$ bin/hbase org.apache.hadoop.util.NativeLibraryChecker  

** 3、安装snappy:**

1.首先解压 hadoop-snappy-0.0.1-SNAPSHOT.tar.gz

$ tar -zxf /opt/software/hadoop-snappy-0.0.1-SNAPSHOT.tar.gz ./  #我这解压到hadoop下

2.声明配置窗口环境变量

export HBASE_HOME=/opt/modules/apache/hbase-1.2.1
export HADOOP_SNAPPY_HOME=/opt/modules/apache/hadoop-2.7.3/hadoop-snappy-0.0.1-SNAPSHOT
export HADOOP_HOME=/opt/modules/apache/hadoop-2.7.3

3.将snappy里面的jar拷贝到hbase下面的lib里

$ cp /opt/modules/apache/hadoop-2.7.3/hadoop-snappy-0.0.1-SNAPSHOT/lib/hadoop-snappy-0.0.1-SNAPSHOT.jar lib/

4.在hbase的lib目录下创建native文件夹

$ mkdir lib/native

5.设置软连接

ln -s $HADOOP_HOME/lib/native $HBASE_HOME/lib/native/Linux-amd64-64

6.再次查看是否支持压缩

7.查看表支持那种格式的压缩

8.测试压缩文件

$ bin/hbase org.apache.hadoop.hbase.util.CompressionTest hdfs://hadoop01.com:8020/test.txt snappy 


9.创建两张表一张支持压缩 一张不支持

hbase(main):004:0> create 'hbase01:t2',{NAME=>'f1'}
hbase(main):005:0> create 'hbase01:t3',{NAME=>'f1',COMPRESSION => 'snappy'}

//导入数据 更改表的信息
disable 'test'	 #禁用
alter 'test', NAME => 'f', COMPRESSION => 'snappy' 	#针对列簇修改COMPRESSION
enable 'test'	#启用
major_compact 'test' 	#合并

原文链接

www.htsjk.Com true http://www.htsjk.com/hbase/42101.html NewsArticle Hbase之文件压缩, hbase为什么压缩文件: 1.节省HDFS的存储空间,缓解存储压力 2.减少网络传输的数据,减轻网络传输负载 HBase配置压缩前hadoop需要支持压缩,关于hadoop的压缩可以参考:第...
相关文章
    暂无相关文章
评论暂时关闭