`

HBASE压缩算法-SNAPPY算法安装

 
阅读更多

 

转自:http://www.cnblogs.com/shitouer/archive/2012/07/09/2583095.html

 

Compression就是在用CPU换IO吞吐量/磁盘空间,如果没有什么特殊原因推荐针对Column Family设置compression,下面主要有三种算法: GZIP, LZO, Snappy,作者推荐使用Snappy,因为它有较好的Encoding/Decoding速度和可以接受的压缩率。

Comparison between compression algorithms

Algorithm % remaining Encoding Decoding
GZIP 13.4% 21 MB/s 118 MB/s
LZO 20.5% 135 MB/s 410 MB/s
Zippy/Snappy 22.2% 172 MB/s 409 MB/s

Snappy已经被Google开源,作为一个压缩库,它可以利用单颗Intel Core i7处理器内核处理至少每秒250MB~500MB的数据流。

Snappy的前身是Zippy。虽然只是一个数据压缩库,它却被Google用于许多内部项目程,其中就包括BigTable,MapReduce和RPC。Google宣称它在这个库本身及其算法做了数据处理速度上的优化,作为代价,并没有考虑输出大小以及和其他类似工具的兼容性问题。Snappy特地为64位x86处理器做了优化,在单个Intel Core i7处理器内核上能够达到至少每秒250MB的压缩速率和每秒500MB的解压速率。

如果允许损失一些压缩率的话,那么可以达到更高的压缩速度,虽然生成的压缩文件可能会比其他库的要大上20%至100%,但是,相比其他的压缩库,Snappy却能够在特定的压缩率下拥有惊人的压缩速度,“压缩普通文本文件的速度是其他库的1.5-1.7倍,HTML能达到2-4倍,但是对于JPEG、PNG以及其他的已压缩的数据,压缩速度不会有明显改善”。

Google极力赞扬Snappy的各种优点,Snappy从一开始就被“设计为即便遇到损坏或者恶意的输入文件都不会崩溃”,而且被Google在生产环境中用于压缩PB级的数据。其健壮性和稳定程度可见一斑。

Snappy也可以用于和其他压缩库-zlib、LZO、LZF、FastLZ和QuickLZ-做对比测试,前提是你在机器上安装了这些压缩库。Snappy是一个C++的库,你可以在产品中使用,不过也有一些其他语言的版本,例如HaskellJavaPerlPythonRuby

Snappy采用新BSD协议开源。

1. 下载snappy代码,编译并安装动态连接库到每台datanode和regionserver上
Build/install Snappy (http://code.google.com/p/snappy/)
./configure
make && make install

2. Build Hadoop Snappy (http://code.google.com/p/hadoop-snappy/)
mvn package

3. 在hdfs中安装snappy
a. 解压 hadoop-snappy-0.0.1-SNAPSHOT.tar.gz 将其中的native中的动态静态链接库文件拷到hadoop lib的native下面,将hadoop-snappy-0.0.1-SNAPSHOT.jar考到hadoop lib下,此过程类似安装lzo.

b. 将一下改动加入到hadoop的core-site.xml中:
<property>
<name>io.compression.codecs</name>
<value>org.apache.hadoop.io.compress.SnappyCodec</value>
</property>

c. 重启动 Hadoop.

4. 将3.a 中的lib拷贝到hbase 的对应lib 和 lib/native 之中,并启动hbase

测试安装是否成功:

1 . 使用 CompressionTest 来查看snappy是否 enabled 并且能成功 loaded:
$ hbase org.apache.hadoop.hbase.util.CompressionTest hdfs://host/path/to/hbase snappy

2 . 创建一章以snappy方式压缩的表来检查能否成功:
$ hbase shell
> create ‘t1′, { NAME => ‘cf1′, COMPRESSION => ‘snappy’ }
> describe ‘t1′

在”describe” 命令输出中, 需要确认 “COMPRESSION => ‘snappy’”

 

 


欢迎关注微信公众号——计算机视觉 

分享到:
评论

相关推荐

    hadoop-snappy-0.0.1-SNAPSHOT.tar.gz

    为了提高数据存储和处理的效率,Hadoop支持多种压缩算法,其中Snappy是一种广泛应用的高效压缩库。本文将深入探讨"Hadoop hbase支持snappy压缩jar包"的相关知识,包括Snappy的特性、如何编译以及如何在HBase中集成和...

    hadoop2.7.4-snappy

    不过,HBase在默认配置下不支持Snappy压缩算法,由于版权问题,HBase在安装时并不包含所有可能的压缩库。例如,使用Hadoop自带的checknative工具可以发现系统当前支持哪些压缩库。通常情况下,snappy的so文件不会被...

    Hadoop集群上Snappy压缩算法的安装配置

    Snappy 压缩算法的安装配置在 Hadoop 集群上 Snappy 压缩算法是一种高效的压缩算法,广泛应用于 Hadoop 和 HBase 等大数据处理系统中。 本篇文章将介绍 Snappy 压缩算法在 Hadoop 集群上的安装配置过程,并分享一些...

    Hbase设置Snappy压缩测试

    Snappy作为其中的一种压缩算法,可以通过配置启用。 以下是配置Snappy压缩的步骤: 1. **修改HBase配置**: 在`hbase-site.xml`配置文件中,你需要添加或修改以下配置项: ```xml &lt;name&gt;hbase.hregion....

    Hadoop HBase 配置 安装 Snappy 终极教程

    在Hadoop中,我们可以在`hadoop-common-site.xml`或`hadoop-default.xml`中设置`io.compression.codecs`属性,添加Snappy压缩算法。对于HBase,我们需要在`hbase-site.xml`中设置`hbase.regionserver.blockcompress....

    初始化pinpoint库

    Snappy是一种快速的压缩算法,适用于大数据场景,能够提高数据读写效率。 2. `hbase-drop.hbase`:通常用于删除HBase中的表,这在测试环境中尤其常见,当需要清理旧的数据或者重新开始时会使用。 3. `hbase-create...

    GZIP、LZO、Zippy Snappy压缩算法应用场景小结

    在Snappy发布之后,HBase建议使用Snappy算法,并根据实际情况对LZO和Snappy进行对比测试后做出选择。 在具体项目实施过程中,比如利用基数估计的概率算法stream-lib解决去重计算问题时,需要考虑到算法的选择对内存...

    hadoop3.x带snappy(可用于windows本地开发)

    【标题】"hadoop3.x带snappy(可用于windows本地开发)"所涉及的知识点主要集中在Hadoop 3.0版本以及Snappy压缩算法在Windows环境下的应用。Hadoop是一个开源的大数据处理框架,由Apache软件基金会开发,它使得在...

    hadoop snappy编译安装包

    Snappy是由Google开发的开源压缩算法,其目标是实现快速的压缩和解压缩速度,而不是追求最高的压缩比率。这种特性使得Snappy特别适合于实时数据流处理和大规模分布式系统,如Hadoop和HBase。 二、Hadoop与Snappy 在...

    HBase应用最佳实践详解.pdf

    * 启用压缩:使用GZIP、Snappy、LZO等压缩算法可以提高HBase的性能 * MemStore缓存配置: MemStore缓存可以提高HBase的性能 * Region拆分和合并:预建分区可以避免自动split,提高HBase的响应速度 * Region均衡:...

    支持snappy压缩的hadoop2.7.2

    首先,让我们深入了解一下Snappy压缩算法。Snappy是由Google开发的,它的设计目标是追求速度而非最高压缩比。在处理大量数据时,快速的压缩和解压缩速度可以显著减少数据传输时间,提高整体处理效率。Snappy在Hadoop...

    HBase多表关联查找资料

    * 压缩算法:可以使用 Snappy 算法,相比 LZO 算法,压缩率接近,压缩效率稍高,解压效率高很多。 * inmemory:表在内存中存放,可以提高查询速度,但需要注意内存使用率。 * bloomfilter:根据应用需求,判断是否...

    浅谈HBASE数据结构设计.pdf

    - 压缩:HBase支持多种数据压缩算法(如Snappy、GZIP等),能够显著减少存储空间,提高读写性能。 - 高可用性:HBase利用Hadoop的高可用性机制和ZooKeeper来保证集群服务的持续可用性,即使***r或RegionServer宕机,...

    HBASE使用注意事项

    - **压缩算法**:推荐使用SNAPPY压缩算法,以提高数据存储和检索的效率。 - **过滤器选择**:依据具体的业务场景选择合适的过滤器,以提高查询效率。 - **version版本数**:建议不超过3个版本,仅需最新数据时可设为...

    Hadoop2.7.1+Hbase1.2.1集群环境搭建(7)hbase 性能优化

    HBase支持多种压缩算法,如GZ、LZO、Snappy等。 6. **并行操作**:通过MapReduce或Spark等工具进行批量数据处理,利用并行计算提升效率。 7. **HBase运维参考**:在提供的“hbase运维参考手册(项目实战).docx”文...

    hadoop-2.6.0-cdh5.14.0.tar.gz for linux 支持snappy

    本压缩包文件“hadoop-2.6.0-cdh5.14.0.tar.gz”正是针对Linux系统编译的CDH Hadoop 2.6.0-cdh5.14.0版本,其特色在于集成了对Snappy数据压缩算法的支持。Snappy是由Google开发的一种高效的数据压缩库,广泛应用于...

    Hbase_2.0.3免费下载

    2. 表和Column Family的压缩优化:支持更多压缩算法,如LZO、Snappy和Gzip,可以灵活配置以节省存储空间。 3. Coprocessor框架:允许用户自定义逻辑在服务器端运行,实现细粒度的数据处理和验证,提高效率。 4. 新的...

    hbase技术分享

    压缩配置则可以用来减少存储空间和提高I/O效率,HBase提供了多种压缩算法,如Snappy和GZip等。 此外,HBase的Demo程序能够实现数据的导入导出,常见的操作包括: - CellCounter:统计HBase表中的单元格数量。 - ...

    hbase 表设计

    HBase支持多种压缩算法,例如Snappy、GZ等。在设计表结构时,需要根据数据的特点选择合适的压缩算法。 分区(Region Splitting)是HBase表设计的另一个关键点。HBase表在底层被切分为多个区域(Region),每个区域...

Global site tag (gtag.js) - Google Analytics