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. loj1245(数学)

    传送门:Harmonic Number (II) 题意:求sum=n/1+n/2+n/3+...+n/n.(n<2^31) 分析:在一定的区间内n/i的值是一定的,因此要跳过这段区间来加速求解. ...

  2. Fast portable non-blocking network programming with Libevent

    Fast portable non-blocking network programming with Libevent Fast portable non-blocking network prog ...

  3. android4.3环境搭建

    方案一: 首先android环境搭建有如下几个东西是必须准备的: 1.  Eclipse (下载地址:http://www.eclipse.org/downloads/,建议至少3.4及以上版本) 2 ...

  4. 解决com.ibatis.sqlmap.client.SqlMapException: There is no statement named in this SqlMap

    com.ibatis.sqlmap.client.SqlMapException: There is no statement named in this SqlMap. 可能存在3种情况: 1.在x ...

  5. 优秀Java程序员必须了解的GC工作原理(转)

    一个优秀的Java程序员必须了解GC(Garbage Collection 垃圾收集)的工作原理.如何优化GC的性能.如何与GC进行有限的交互,因为有一些应用程序对性能要求较高,例如嵌入式系统.实时系 ...

  6. poj1655(树形dp)

    题目链接:http://poj.org/problem?id=1655 题目大意:给一个树,删除其中一个点就会形成一个森林,点的平衡度为删除了这个节点后,所形成多个树,其中组成树的节点最多,节点个数就 ...

  7. ORA-16525: the Data Guard broker is not yet available

    DGMGRL> disable configuration;ORA-16525: the Data Guard broker is not yet available Configuration ...

  8. WPF如何获得变量异步回调函数时产生的异步回调

    有这样的问题,WPF当使用异步回调,需要使用产生的异步变量中的回调函数.数据库中查询诸如异步函数来获得一DataTable.怎样传递给回调函数呢? [方案一]使用全局变量 非常easy想到的是用全局变 ...

  9. Boosting算法简介

    一.Boosting算法的发展历史 Boosting算法是一种把若干个分类器整合为一个分类器的方法,在boosting算法产生之前,还出现过两种比较重要的将多个分类器整合为一个分类器的方法,即boos ...

  10. 再见,CSDN

    这是第三次的博客, 首先是从百度改变自己 从他的变化二CSDN 看看多年的积累, 真的不想,但CSDN搜电缆和编辑(新MarkDown更烂)实在不敢恭维 再见CSDN, 新的博客 http://my. ...