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-compressionproject,改动 src/java/com/hadoop/compression/lzo/LzoCompressor.java,添加下面行:
Java代码
  • public void reinit(Configuration conf) {
  • // do nothing
  • }
  public void reinit(Configuration conf) {
    // do nothing
  }


  然后又一次编译project,将生成的jar包替换以上第4步中的那个jar包

很多其它精彩内容请关注:http://bbs.superwu.cn
关注超人学院微信二维码:
关注超人学院java免费学习交流群:

版权声明:本文博主原创文章。博客,未经同意不得转载。

hbase开放lzo压缩的更多相关文章

  1. HBase开启LZO

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

  2. 开启hadoop和Hbase集群的lzo压缩功能(转)

    原文链接:开启hadoop和Hbase集群的lzo压缩功能 问题导读: 1.如何启动hadoop.hbase集群的压缩功能? 2.lzo的作用是什么? 3.hadoop配置文件需要做哪些修改? 首先我 ...

  3. 配置hadoop集群的lzo压缩

    MR-Job中使用lzop详见MR案例:Job中使用Lzo压缩 1). 配置前的环境准备 # yum -y install lzo-devel zlib-devel gcc autoconf auto ...

  4. lzo压缩格式文件查看

    使用lzop命令解压并查看 :lzop -cd xxx.lzo |more 附压缩命令:lzop xxx.log (生成xxx.log.lzo) 其它参数: # lzop -v test # 创建te ...

  5. 对TextFile格式文件的lzo压缩建立index索引

    转自:http://blog.csdn.net/yangbutao/article/details/8519572 hadoop中可以对文件进行压缩,可以采用gzip.lzo.snappy等压缩算法. ...

  6. HBase 的MOB压缩分区策略介绍

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/zNZQhb07Nr/article/details/79832392 HBase应用场景很广泛.社区 ...

  7. 【转】hadoop2.6 配置lzo压缩

    [转自]http://my.oschina.net/u/1169079/blog/225070 经常用于处理大量的数据,如果期间的输出数据.中间数据能压缩存储,对系统的I/O性能会有提升.综合考虑压缩 ...

  8. MR案例:MR和Hive中使用Lzo压缩

    在MapReduce中使用lzo压缩 1).首先将数据文件在本地使用lzop命令压缩.具体配置过详见配置hadoop集群的lzo压缩 //压缩lzop,解压缩lzop -d [root@ncst wo ...

  9. 对已经存在的hbase表修改压缩方式

    业务上可能会遇到这种情况,在最初创建hbase表时候,未指定压缩方式,当数据导入之后,由rowkey带来的数据膨胀导致hdfs上的数据大小远远大于原始数据大小.所以这时候可能就不得不考虑使用压缩,但是 ...

随机推荐

  1. 就是这么简单(续)!使用 RestAssuredMockMvc 测试 Spring MVC Controllers(转)

    接我前面一篇文章关于RestAssured测试Restful web service的, RestAssured还有一个功能, 使用RestAssuredMockMvc 单元测试你的Spring MV ...

  2. Help Johnny-(类似杭电acm3568题)

    Help Johnny(类似杭电3568题) Description Poor Johnny is so busy this term. His tutor threw lots of hard pr ...

  3. Working with forms

    翻译 Django文档 Version 1.5 https://docs.djangoproject.com/en/1.5/topics/forms Working with forms 关于此文章: ...

  4. Android学习十九:ContentProvider初步

    一.Content Provider基本概念 1.ContentProvider为存储和获取数据提供了统一的接口.ContentProvide对数据进行封装.不用关心数据存储的细节.使用表的形式来组织 ...

  5. uva 10066 The Twin Towers (最长公共子)

    uva 10066 The Twin Towers 标题效果:最长公共子. 解题思路:最长公共子. #include<stdio.h> #include<string.h> # ...

  6. 算法8-4:Kruskal算法

    Kruskal算法用于计算一个图的最小生成树.这个算法的过程例如以下: 依照边的权重从小到达进行排序 依次将每条边添加到最小生成树中,除非这条边会造成回路 实现思路 第一个步骤须要对边进行排序,排序方 ...

  7. The mell hall——坑爹

    The mell hall 题目描述 In HUST,there are always manystudents go to the mell hall at the same time as soo ...

  8. Android实现隐藏状态栏和标题栏

    隐藏标题栏需要使用预定义样式:android:theme=”@android:style/Theme.NoTitleBar”. 隐藏状态栏:android:theme=”@android:style/ ...

  9. 关于QTP

    关于QTP,我也才接触,只是上来记录一下安装过程,免得以后忘记,又要查一堆资料. 简单介绍一下QTP: QTP的基本功能包括2个部分:一部分是提供给初级用户使用的关键字视图:另一部分是提供给熟悉VBS ...

  10. iOS Dev (59) 高度自适应的UITextView

    iOS Dev (59) 高度自适应的UITextView 作者:阿锐 地址:http://blog.csdn.net/prevention - 例如以下 _inputTextView 为一个 UIT ...