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中加上:
<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,建表时使用:
create 'mytable', {NAME=>'colfam:', COMPRESSION=>'lzo'}
此时这个column即为lzo了,往它读写数据会自动进行lzo压缩和解压缩。
P.S:
1 如果不清楚你的hbase是否配置好了支持lzo,可以执行以下命令检查之,如果不支持的话这个命令会提示你还缺什么文件:
hbase org.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,增加以下行:
public void reinit(Configuration conf) {
// do nothing
}
然后重新编译工程,将生成的jar包替换以上第4步中的那个jar包
分享到:
相关推荐
总结来说,安装和配置HBase中的LZO压缩涉及到多个步骤,包括下载源码、编译、配置Hadoop和HBase,以及在Master节点上确保压缩功能的正确运行。合理使用LZO压缩可以显著提升HBase的存储和性能,但也要注意适时的性能...
此外,HBase还支持其他压缩算法,如GZ和LZO。选择哪种压缩算法取决于你的具体需求,例如,如果你更关心压缩速度而不是压缩比,那么Snappy可能是更好的选择。 从提供的标签“源码”和“工具”来看,我们可能还会涉及...
### HBase开启审计日志详解 #### 一、概述 HBase是一款分布式列式存储系统,基于Google的Bigtable论文实现。它具有高可靠性、高性能、面向列、可伸缩的特点,非常适合处理海量数据。在大数据领域,HBase被广泛用于...
启用LZO压缩可以将数据压缩到原来的一半大小,从而提高存储效率和查询性能。 调整Handler Count HBase的RegionServer处理器数量直接影响着写入性能。默认情况下,HBase的RegionServer处理器数量为10,可以根据实际...
分布式存储系统:HBase:HBase数据压缩与编码技术教程.docx
根据提供的文件信息,本文将详细介绍HBase的Shell操作及其应用场景,包括如何创建表、插入数据、查询数据等关键操作。 ### HBase Shell简介 HBase Shell是HBase提供的一种交互式命令行工具,用于执行HBase操作。它...
GZIP、LZO、Zippy/Snappy是三种广泛使用的数据压缩算法,每种算法都有其特定的应用场景和性能特点,合理选择压缩算法对于提升系统性能和节约资源至关重要。 首先,GZIP是一种广泛使用的文件压缩工具,它基于DEFLATE...
HBase权威指南中文版(压缩成5个文件了)分卷3 总共5个分卷
### HBase 配置内置 ZooKeeper 的详细步骤与解析 #### 一、配置背景与目的 在 HBase 的部署环境中,ZooKeeper 起着非常重要的作用,它主要用于协调集群中的各个节点,并且管理 HBase 的元数据。通常情况下,HBase ...
在IT行业中,尤其是在大数据处理领域,HBase是一个广泛使用的分布式、高性能、列式存储的NoSQL数据库。HBase是建立在Hadoop文件系统(HDFS)之上,为处理大规模数据提供了一个高效的数据存储解决方案。而Spring Data...
HBase支持在RegionServer级别启用压缩,同时备份时也可以使用gzip或bzip2等压缩工具。 接下来是MySQL,这是一个广泛使用的SQL关系型数据库。MySQL备份包括: 1. **mysqldump**:这是最常用的全量备份方法,通过...
HBase 是一个开源的、分布式的、版本化的 NoSQL 数据库(也即非关系型数据库),它利用 Hadoop 分布式文件系统(Hadoop Distributed File System,HDFS)提供分布式数据存储。与传统的关系型数据库类似,HBase 也以...
1 介绍 大数据时代,海量数据的存储和分析是一个巨大的挑战...主流的HBase压缩方式有LZO和Snappy,Snappy的压缩比会稍微优于LZO,具体的对比,可参考这篇文章:http://www.cnblogs.com/zhengrunjian/p/4527165.html Sna
3. **适合随机访问**:LZO压缩后的数据块较小,适合于需要频繁进行随机读取的场景。 **在CDH4.3中安装LZO** 1. **下载LZO库**:首先,你需要从官方网站或第三方源下载适用于Hadoop的LZO库。 2. **编译和安装**:...
2. **解压并移动到指定目录**:在 Linux 系统上创建一个专门存放 HBase 的目录 `/usr/hbase`,然后解压缩下载的安装包到该目录下。 ```bash mkdir /usr/hbase tar -zxvf hbase-0.98.3-hadoop2-bin.tar.gz -C /...
2. 列族配置:根据数据访问模式调整列族的缓存、压缩和版本策略。 3. Bloom Filter:减少无效磁盘I/O,提高查询效率。 4. Coprocessor:在Region服务器端实现业务逻辑,减少网络传输。 六、HBase监控与故障恢复 1. ...
HBase支持多种压缩算法,如GZ、LZO、Snappy等。 6. **并行操作**:通过MapReduce或Spark等工具进行批量数据处理,利用并行计算提升效率。 7. **HBase运维参考**:在提供的“hbase运维参考手册(项目实战).docx”文...
数据压缩与缓存**:HBase支持多种数据压缩算法,可以显著减少存储空间的需求。同时,通过缓存机制提高数据读取速度,尤其是在热点数据访问时表现更佳。 **4. 安全性和权限管理**:HBase提供了细粒度的安全控制机制...