hbase lzo的使用

为什么用LZO?

启用LZO压缩

LZO对比Hbase默认的GZip,前者性能较高,后者压缩比较高,具体参见 Using LZO Compression 。对于想提高HBase读写性能的开发者,采用LZO是比较好的选择。对于非常在乎存储空间的开发者,则建议保持默认。

我对lzo和gz对比并测试了一下,发现性能提升并不是十分明显。

 

一、hbase添加LZO

注意:root用户安装,否则安装会出现错误
1、首先要让系统支持lzo动态库,安装lzo-2.00以上版本:http://www.oberhumer.com/opensource/lzo/download/

2、解压 tar -zxvf lzo-2.06.tar.gz

3、进入解压后的目录,执行./configure  --enable-shared

4、执行make进行编译,编译完成后执行make install进行安装lzo
     make install库文件被默认安装到了/usr/local/lib,将/usr/local/lib拷贝到/usr/lib下,或者在/usr/lib下建立软连接ln -s /usr/local/lib/* .

5、到http://code.google.com/p/hadoop-gpl-compression/下载lzo相关的native库;

6、下载的 hadoop-gpl-compression-0.1.0.jar 到 hbase/lib以及hadoop/lib 中

7、下载的hadoop-gpl-compression-0.1.0中的 lib/native/* 到 hadoop/lib/native 及 hbase/lib/native

8、确保6、7的文件同步到了每台regionserver上

9、在core-site.xml中加上:

 <property>
<name>io.compression.codecs</name>
<value>com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec</value>
</property>
<property>
<name>io.compression.codec.lzo.class</name>
<value>com.hadoop.compression.lzo.LzoCodec</value>
</property>

 

安装完成了lzo,可以使用hbase的lzo example来验证一下,执行一下命令:

 hbase org.apache.hadoop.hbase.util.CompressionTest hdfs://223.5.12.88:9000/user.dat lzo

二、应用

create 'test', {NAME=>'cf', COMPRESSION=>'lzo'} 按照列族压缩

posted on 2012-12-21 11:08  永会儿  阅读(1203)  评论(0编辑  收藏  举报