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. 黑马程序猿_ 利用oc的协议实现代理模式

    先说下代理模式是什么吧 定义: 为其它对象提供一种代理以控制对这个对象的訪问.在某些情况下,一个对象不适合或者不能直接引用还有一个对象 而代理对象能够在client和目标对象之间起到中介的作用. 在看 ...

  2. 使用EXCEL设置“下拉菜单”选项功能

    原创作品.出自 "深蓝的blog" 博客.欢迎转载.转载时请务必注明出处,否则有权追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlo ...

  3. hdu3811(状态压缩dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3811 题目大意:给定1~N个数,求出至少满足一个条件的排列总数.M个条件如下:Ai位置的数为Bi 分析 ...

  4. Vsphere client 无法登陆VCenter 处理的方法

    上周做安全的时候将DC.DB和VCenter 三台机器的防火墙都启用了,结果Vcenter 登陆的时候总是提示服务器没有响应,连web client 都无法登陆. 处理过程 一.首先要保证 vmvar ...

  5. HashMap-死锁导致cpu占用100%分析(转)

    最近项目里面的一段千年代码出了问题,这个问题以前也出现过,不过不是那么明显,这次迁移机器由以前的4台机子变成2台以后问题被放大,最终不得不解决,特此分析一下. 先放出问题的代码 ? 1 2 3 4 5 ...

  6. B桥接模式ridge

    1.一个简短的引论 1)模式概述:将抽象部分与实现部分分离.使它们都能够独立的变化.让抽象类和派生类各自实现自己的对象.当一个系统有多维度的变化时,将各个维度分离出来让它们独立于变化(多角度地分类实现 ...

  7. 微端 代码project as air 分享

    分享 ^_^ 1. 使用 air , as . 2. 微端下载和更新技术 成功上线棋牌游戏.它可用于传统的游戏开发. 地址: http://download.csdn.net/detail/stone ...

  8. Struts开发问题集锦

    在struts2de 1.6以前版本,都是用<s:datepicker>标签来获取时间,1.8后可以用struts-dojo.plugin里的<sx:datetimepicker&g ...

  9. http://fonts.googleapis.com/css?打开很慢解决方案

    最近, 在写一个demo的时候突然发现加载超级慢, 寻找之下发现了"罪魁祸首", 系引用了http://fonts.googleapis.com/css. 接着在网上看到有网友反映 ...

  10. 外网SSH访问内网LINUX的N种方法

    外网SSH访问内网LINUX的N种方法 http://www.nat123.com/Pages_8_260.jsp 一,动态公网IP环境 1,环境描述: 路由器分配的是动态公网IP,且有路由管理权限, ...