hbase开启lzo压缩

hbase只支持对gzip的压缩,对lzo压缩支持不好。在io成为系统瓶颈的情况下,一般开启lzo压缩会提高系统的吞吐量。但这需要参考具体的应用场景,即是否值得进行压缩、压缩率是否足够等等。

想要hbase支持lzo压缩,参照以下步骤:

1 首先要让系统支持lzo动态库,安装lzo-2.00以上版本:http://www.oberhumer.com/opensource/lzo/download/

2 默认安装完后应该在系统的/usr/local/lib/找到liblzo*等几个so

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

4 拷贝3中下载的hadoop-gpl-compression-0.1.0-dev.jar 或hadoop-gpl-compression-0.1.0.jar 到 hbase/lib以及hadoop/lib 中

5 拷贝3中下载的 lib/native/* 到 hadoop/lib/native 及 hbase/lib/native

6 确保以上4/5中的文件同步到了每台regionserver上

7 在core-site.xml中加上:

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>

<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>

8 重启dfs及hbase,建表时使用:

Java代码

  • create ‘mytable‘, {NAME=>‘colfam:‘, COMPRESSION=>‘lzo‘}

create ‘mytable‘,{NAME=>‘colfam:‘, COMPRESSION=>‘lzo‘}

此时这个column即为lzo了,往它读写数据会自动进行lzo压缩和解压缩。

P.S:

1 如果不清楚你的hbase是否配置好了支持lzo,可以执行以下命令检查之,如果不支持的话这个命令会提示你还缺什么文件:

Java代码

  • hbase org.apache.hadoop.hbase.util.CompressionTest hdfs://namenode:9000/test_path lzo

hbaseorg.apache.hadoop.hbase.util.CompressionTest hdfs://namenode:9000/test_path lzo

2 如果你和我一样使用了CDH3版本的hdfs,那么该版本的hdfs与hadoop-gpl-compression会有冲突,原因是CDH3修改了compression.java,增加了reinit()接口。

此时需要重新编译hadoop-gpl-compression工程,修改 src/java/com/hadoop/compression/lzo/LzoCompressor.java,增加以下行:

Java代码

  • public void reinit(Configuration conf) {
  • // do nothing
  • }

public void reinit(Configuration conf) {

// do nothing

}

然后重新编译工程,将生成的jar包替换以上第4步中的那个jar包

更多精彩内容请关注:http://bbs.superwu.cn

关注超人学院微信二维码:

关注超人学院java免费学习交流群:

时间: 2024-10-04 22:18:27

hbase开启lzo压缩的相关文章

php简单开启gzip压缩方法(zlib.output_compression)

网上的教程基本是你抄我来我抄他,不外乎加头加尾或者自构函数两种写法.实际上每个php页面都要去加代码——当然也可以include引用,不过总显得略微麻烦 一般而言,页面文件开启gzip压缩以后,其体积可以减小60%~90%,对于文字类站点,可以节省下大量的带宽与用户等待时间.但是不论是iis还是apache默认都只压缩html类静态文件,对于php文件需要模块配置才可支持(iis7.5中开启动态+静态压缩也可以),于是利用php自身功能到达gzip的效果也成为一项合理的诉求. 网上的教程基本是你

【总结】spark按文本格式和Lzo格式处理Lzo压缩文件的比较

1.描述spark中怎么加载lzo压缩格式的文件 2.比较lzo格式文件以textFile方式和LzoTextInputFormat方式计算数据,Running Tasks个数的影响 a.确保lzo文件所在文件夹中生成lzo.index索引文件 b.以LzoTextInputFormat处理,能够正常按分块数分配Tasks 查看文件块数量 [[email protected] ~]$ hdfs fsck /wh/source/hotel.2017-08-07.txt_10.10.16.105_2

Tomcat7中开启gzip压缩功能的配置方法

使用gzip压缩可以减少数据传输大小,加快网页加载速度.很多大站都开启了gzip压缩,不过也有很多网站并没有开启gzip压缩,上次看了一篇文章说开启gzip压缩后对搜索引擎不友好,但从带宽和流量的角度来看,还是有必要开启gzip压缩的. 对于tomcat7服务器,打开conf文件夹下的server.xml 文件,找到 复制代码 代码如下: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout=

WIN2003服务器IIS下如何开启GZIP压缩

在上一篇文章黑客流谈到了关于网页打开速度对SEO的影响,其中提到了网页开启Gzip压缩的好处,接下来我来和大家分享一下WINDOWS系统IIS服务器下如何开启Gzip压缩. 首先我们来了解一下什么是Gzip,Gzip是GNU zip的缩写,它是一个GNU自由软件的文件压缩程序,也经常用来表示gzip这种文件格式.gzip可以极大的加速网站,最高可以达到80%的压缩比率,利用Gzip的压缩算法来对服务器发布的网页内容进行压缩后再传输到客户端浏览器,这样实际上降低了网络传输的字节数,最明显的好处就是

开启LOH压缩?

我们知道.NET CLR的GC堆中有一种特殊的堆,它专门存放超过85000byte的对象(详见这里),这就是大对象堆(LOH). 在.NET Framework 4.5.1之前,微软并没有提供对LOH的压缩操作,这是因为移动大对象的开销是很可观的.不能压缩LOH也会带来一些问题,比如LOH的内存碎片化.不过在.NET Framework 4.5.1种,微软加入了对LOH堆压缩的开关.对于为什么会加入这个开关,个人猜测应该是考虑到计算机性能足以支撑这种操作.具体使用参照以下代码: GCSettin

修改Apache配置文件开启gzip压缩传输

转自:http://down.chinaz.com/server/201202/1645_1.htm 最近无事研究一些Web的优化,用工具page speed检测网站时发现还没有开启gzip压缩,于是上网找来资料实验一下:在apache2.0以上(包括apache2.0)的版中gzip压缩使用的是mod_deflate模块,下面是具体配置步骤 第1步 LoadModule deflate_module modules/mod_deflate.so LoadModule headers_modul

Apache开启Gzip压缩

1. 编辑Apache的httpd.conf文件 vim /etc/httpd/conf/httpd.conf 2. 开启mod_deflate.so模块 LoadModule deflate_module modules/mod_deflate.so 3. 对该模块进行配置 # GG到最下一行添加如下内容 <IfModule mod_deflate.c> # 压缩等级 9 DeflateCompressionLevel 9 # 压缩类型 html.xml.php.css.js SetOutp

apache 配置静态文件缓存和开启gzip压缩

1,设置文件静态缓存3天: 在httpd.conf 里添加如下代码: #文件静态缓存配置 <IfModule expires_module> #打开缓存 ExpiresActive on #文件缓存259200/3600/24=3天 ExpiresByType text/css A259200 ExpiresByType application/x-javascript A259200 ExpiresByType application/javascript A259200 ExpiresBy

Flume lzo压缩输出至 hadoop

1. Hadoop 支持lzo压缩依赖: lzo:Unix/linux系统默认没有lzo的 库,因此需要安装,sudo yum install lzo-devel.x86_64 sudo yum install lzo.x86_64          sudo yum install lzop.x86_64 2. 准备maven,ant,gcc 等 3. 编译hadoop-lzo 从https://github.com/twitter/hadoop-lzo 下载,解压进入目录, mvn clea