`
qindongliang1922
  • 浏览: 2183871 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
7265517b-f87e-3137-b62c-5c6e30e26109
证道Lucene4
浏览量:117532
097be4a0-491e-39c0-89ff-3456fadf8262
证道Hadoop
浏览量:125921
41c37529-f6d8-32e4-8563-3b42b2712a50
证道shell编程
浏览量:59907
43832365-bc15-3f5d-b3cd-c9161722a70c
ELK修真
浏览量:71301
社区版块
存档分类
最新评论

Hbase设置Snappy压缩测试

阅读更多

在DT大数据时代,海量数据的存储和分析是一个巨大的挑战,给我们的hadoop或者hbase集群添加数据压缩的能力,是必不可少的,通过压缩我们不但能节约磁盘空间,而且也能节省集群间网络带宽的损耗,从而间接提高了集群任务的整体执行效率,hadoop已经自带支持一些比较常用的压缩,如gz,bz等,使用hadoop checknative -a命令可以查看你的hadoop支持几种压缩格式:

15/12/30 14:51:11 INFO bzip2.Bzip2Factory: Successfully loaded & initialized native-bzip2 library system-native
15/12/30 14:51:11 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library
Native library checking:
hadoop:  true /ROOT/server/hadoop/lib/native/libhadoop.so
zlib:    true /lib64/libz.so.1
snappy:  true /ROOT/server/hadoop/lib/native/libsnappy.so.1
lz4:     true revision:99
bzip2:   true /lib64/libbz2.so.1
openssl: true /usr/lib64/libcrypto.so


当今大多数的互联网公司对于hadoop压缩的选型,通常是Snappy和LZO,两者都有不错的压缩比和解压速度,关于具体的对比,请参考此篇文章:http://www.cnblogs.com/zhengrunjian/p/4527165.html
本篇主要介绍在Hbase中使用snappy压缩,如果你的hadoop已经安装了snappy,那么接下来就会非常简单了,如果你的hadoop集群还不支持snappy压缩,那么也没关系,请参考散仙以前的文章:http://qindongliang.iteye.com/blog/2222145

版本介绍:
Apache Hadoop2.7.1
Apache Hbase0.98.12

安装测试步骤如下:
(1)给hadoop集群正确安装snappy压缩
(2)拷贝hadoop/lib下的native下的所有so文件和hadoop-snappy-0.0.1-SNAPSHOT.jar到hbase/lib下面
(3)如果有多台机器,每台机器都要拷贝分发
(4)拷贝完成后,重启hbase集群
(5)执行命令验证snappy是否验证成功,如果打印succes,即安装成功

[webmaster@Hadoop-0-187 logs]$ hbase org.apache.hadoop.hbase.util.CompressionTest /user/webmaster/word/in/tt2  snappy                 
2015-12-30 15:14:11,460 INFO  [main] Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/ROOT/server/hbase/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/ROOT/server/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
2015-12-30 15:14:12,607 INFO  [main] util.ChecksumType: Checksum using org.apache.hadoop.util.PureJavaCrc32
2015-12-30 15:14:12,609 INFO  [main] util.ChecksumType: Checksum can use org.apache.hadoop.util.PureJavaCrc32C
2015-12-30 15:14:12,916 INFO  [main] compress.CodecPool: Got brand-new compressor [.snappy]
2015-12-30 15:14:12,923 INFO  [main] compress.CodecPool: Got brand-new compressor [.snappy]
2015-12-30 15:14:12,932 ERROR [main] hbase.KeyValue: Unexpected getShortMidpointKey result, fakeKey:testkey, firstKeyInBlock:testkey
2015-12-30 15:14:13,218 INFO  [main] compress.CodecPool: Got brand-new decompressor [.snappy]
SUCCESS



确认成功后,执行hbase shell命令行,采用下面的几个命令,建2个表,一个指定snappy压缩,另外一个不启动压缩,最后插入几十条数据对比结果。


//创建一个表,指定snappy压缩
create 'tsnappy', { NAME => 'f', COMPRESSION => 'snappy'}
//创建一个表,不启动压缩
create 'nosnappy', { NAME => 'f'}
//查看表描述
describe 'tsnappy'
//put一条数据
put 'tsnappy', 'row1', 'f:col1', 'value'
//统计hbase表数据
count 'tsnappy'
//查看数据
 scan 'tsnappy'
truncate 'tsnappy' 清空表里面的数据
//修改已有的表为snappy压缩
alter apData,{NAME=>'cf1',COMPRESSION=>'snappy'}
//禁用表
disable 'my_table'
//修改支持压缩
alter 'my_table', {NAME => 'my_column_family', COMPRESSION => 'snappy'}
//激活表
enable 'my_table'


然后插入50行数据,一个字段,内容大概4M,附件里面有Hbase操作的Java类,插入数据完整后,执行命令:
hadoop fs -du -s -h /hbase/data/default/*对比查看开启压缩和不开启压缩索占的存储空间,大约为1:9,当然这也和自己的存储的数据有关系,总体来说,还是不错的。





最后欢迎大家扫码关注微信公众号:我是攻城师(woshigcs),我们一起学习,进步和交流!(woshigcs)
本公众号的内容是有关搜索和大数据技术和互联网等方面内容的分享,也是一个温馨的技术互动交流的小家园,有什么问题随时都可以留言,欢迎大家来访!






  • 大小: 13.5 KB
0
1
分享到:
评论

相关推荐

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

    4. **测试验证**:完成安装后,通过Hadoop命令行工具进行测试,如`hadoop fs -text`或`hadoop fs -cat`,检查Snappy压缩文件是否能正常读取。 总之,"hadoop3.x带snappy(可用于windows本地开发)"是一个专为Windows...

    Hadoop HBase 配置 安装 Snappy 终极教程

    我们需要在`hbase-site.xml`中设置`hbase.regionserver.blockcompress.table.default`为true,启用默认的表压缩,并将`hbase.hregion.majorcompaction.compress`设置为Snappy,确保大范围合并时也使用Snappy压缩。...

    hadoop snappy编译安装包

    在HBase的配置中,可以通过修改`hbase.regionserver.blockcache.compression`设置为`SNAPPY`来启用Snappy压缩。 五、编译安装Snappy 对于Hadoop 2.4.1和HBase 0.98.3,你需要确保你的环境中已经正确安装了Snappy库...

    某大数据公司内部Hbase性能测试详细设计文档及用例

    本文档旨在详细介绍HBase性能测试的设计文档和实践经验,涵盖了HBase性能测试需要注意的一些参数设置和测试用例。下面是从该文档中提炼的相关知识点: 1.1 Pre-Creating Regions 在HBase中,默认情况下,在创建表...

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

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

    Hbase性能测试详细设计文档及用例.pdf

    在数据压缩方面,Hadoop和Hbase支持Gzip、LZO和Snappy三种压缩算法。选择合适的压缩方式不仅能减少传输数据,还能提高I/O和带宽效率。实际应用中,应根据业务需求和硬件性能对比测试,选取最佳方案。 对于写表操作...

    初始化pinpoint库

    1. `hbase-create-snappy.hbase`:这个脚本可能用于创建一个使用Snappy压缩的HBase表。Snappy是一种快速的压缩算法,适用于大数据场景,能够提高数据读写效率。 2. `hbase-drop.hbase`:通常用于删除HBase中的表,...

    HBASE性能调优方法1

    使用SNAPPY压缩算法可以有效减少数据量,降低IO压力,尤其是在处理大量数据时。SNAPPY在压缩率和压缩速度上具有较高的性价比。 5. 批量操作(Batch Writing): 通过`HTable.put(List)`批量写入多行记录,减少网络I/O...

    HBase应用最佳实践详解.pptx

    推荐使用CMS垃圾回收器,启用Snappy压缩以提高数据读写速度。MemStore缓存配置需考虑业务场景,避免过多占用内存导致OOM。Region拆分和合并策略应结合业务负载,定期进行平衡以保持数据均匀分布。此外,监控和调整...

    聊聊Hbase存储优化那些事(上).pdf

    选择合适的压缩算法(如Snappy、LZO、GZ等)可以兼顾存储和计算的平衡。 5. **缓存策略**:HBase 使用BlockCache和MemStore来缓存数据,合理配置缓存大小和策略能显著提升读写速度。例如,热数据可以设置在缓存中,...

    大数据 76 道面试题及答案.docx

    Hadoop中常用的数据压缩算法包括Lzo、Gzip、Snappy等。如果要对数据进行压缩,建议将原始数据转为SequenceFile或者Parquet File。 MapReduce的调度模式 MapReduce的调度模式可以分为两种:一种是Yarn的调度模式,...

    大数据和云计算技术在计费系统的应用研究.pdf

    本文详细介绍了该平台的建设过程,并对关键技术进行了深入分析,其中包括Hadoop和HBase技术的优势、数据压缩算法的选择、系统架构和功能的设计。 首先,计费系统在移动数据流量大爆发的时代面临着详单存储和查询...

    饿了么实时架构演进.pptx

    同时,通过使用Protobuf和Snappy压缩技术,实现了跨IDC的数据高效传输。 在总结经验时,饿了么强调了在实时架构演进过程中,业务场景的明确、技术工具的选择、监控系统的建设、资源管理和团队协作的重要性。通过...

    MongoDB时序的设计与应用

    相较于HBase默认采用的snappy压缩算法,MongoDB时序集合默认采用zstd压缩算法,因此在相同数据量下,MongoDB的磁盘占用更少。 - **LSM Tree与B Tree比较**:时序集合采用了类似LSM Tree的结构来优化写入性能,同时...

    hadoop,map,reduce,hdfs

    常见的压缩算法有Gzip、BZip2、Snappy等。序列化则用于将对象转换为可以存储或传输的形式,Hadoop支持多种序列化格式,如Writables、JSON、Thrift等。 #### 文件基础数据结构 Hadoop支持多种文件格式,如TextFile...

Global site tag (gtag.js) - Google Analytics