`

hadoop和hbase lzo压缩

阅读更多

配置hadoop lzo

 

一、下载、解压并编译lzo包

1	[wyp@master  ~]$ wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gz 
2	[wyp@master  ~]$ tar -zxvf lzo-2.06.tar.gz 
3	[wyp@master  ~]$ cd lzo-2.06 
4	[wyp@master  ~]$ export CFLAGS=-m64 
5	[wyp@master  ~]$ ./configure -enable-shared -prefix=/usr/local/hadoop/lzo/
6	[wyp@master  ~]$ make && sudo make install

 

编译完lzo包之后,会在/usr/local/hadoop/lzo/生成一些文件,目录结构如下:

1	[wyp@master  /usr/local/hadoop/lzo]$ ls -l 
2	total 12 
3	drwxr-xr-x 3 root root 4096 Mar 21 17:23 include 
4	drwxr-xr-x 2 root root 4096 Mar 21 17:23 lib 
5	drwxr-xr-x 3 root root 4096 Mar 21 17:23 share

  将/usr/local/hadoop/lzo目录下的所有文件打包,并同步到集群中的所有机器上。(我没这么做)

   在编译lzo包的时候,需要一些环境,可以用下面的命令安装好lzo编译环境

 

1	[wyp@master  ~]$ yum -y install  lzo-devel     \ 
2	               zlib-devel  gcc autoconf automake libtool

 

二、安装Hadoop-LZO

 这里下载的是Twitter hadoop-lzo,可以用Maven(如何安装Maven请参照本博客的《Linux命令行下安装Maven与配置》)进行编译。

1	[wyp@master  ~]$ wget https://github.com/twitter/hadoop-lzo/archive/master.zip

 下载后的文件名是master,它是一个zip格式的压缩包,可以进行解压:

1	[wyp@master  ~]$ unzip master

 hadoop-lzo中的pom.xml依赖了hadoop2.1.0-beta,由于我们这里用到的是Hadoop 2.2.0,所以建议将hadoop版(我用的2.3,2.4,2.5也可以用)

1	<properties> 
2	    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
3	    <hadoop.current.version>2.2.0</hadoop.current.version> 
4	    <hadoop.old.version>1.0.4</hadoop.old.version> 
5	  </properties>

 然后进入hadoop-lzo-master目录,依次执行下面的命令

01	[wyp@master  hadoop-lzo-master]$ export CFLAGS=-m64 
02	[wyp@master  hadoop-lzo-master]$ export CXXFLAGS=-m64 
03	[wyp@master  hadoop-lzo-master]$ export C_INCLUDE_PATH=     \ 
04	                                  /usr/local/hadoop/lzo/include 
05	[wyp@master  hadoop-lzo-master]$ export LIBRARY_PATH=/usr/local/hadoop/lzo/lib 
06	[wyp@master  hadoop-lzo-master]$ mvn clean package -Dmaven.test.skip=true 
07	[wyp@master  hadoop-lzo-master]$ cd target/native/Linux-amd64-64 
08	[wyp@master  Linux-amd64-64]$ tar -cBf - -C lib . | tar -xBvf - -C ~ 
09	[wyp@master  ~]$cp ~/libgplcompression* $HADOOP_HOME/lib/native/  
10	[wyp@master  hadoop-lzo-master]$cp target/hadoop-lzo-0.4.18-SNAPSHOT.jar   \ 
11	                                   $HADOOP_HOME/share/hadoop/common/

 其中~目录下的libgplcompression.so和libgplcompression.so.0是链接文件,指向libgplcompression.so.0.0.0,将刚刚生成的libgplcompression*和target/hadoop-lzo-0.4.18-SNAPSHOT.jar同步到集群中的所有机器对应的目录(这个同步是必须的,否则或找不到jar包和执行错误)

配置hadoop

添加到maper-site.xml

<property>
    <name>mapred.compress.map.output</name>
        <value>true</value>
 </property>
 <property>
    <name>mapred.map.output.compression.codec</name>
    <value>com.hadoop.compression.lzo.LzoCodec</value>
 </property>
 <property>
       <name>mapred.child.env</name>
       <value>LD_LIBRARY_PATH=/usr/local/hadoop/lzo/lib</value>
</property>

添加到core-site.xml

<property>
<name>io.compression.codecs</name>
<value>org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.BZip2Codec,com.hadoop.compression.lzo.LzopCodec</value>
</property>
<property>
         <name>io.compression.codec.lzo.class</name>
         <value>com.hadoop.compression.lzo.LzoCodec</value>
</property>

 

使用LZO压缩

1.mr输出压缩文件:

	    Configuration conf = new Configuration();
		conf.set("mapred.output.compression.codec", "com.hadoop.compression.lzo.LzopCodec");
		conf.set("mapred.output.compress", "true");

 

2.hive创建压缩表

 CREATE EXTERNAL TABLE test(
  key string , 
  params string , )
row format delimited fields terminated by '\t'
collection items terminated by ','
lines terminated by '\n'
STORED AS INPUTFORMAT 'com.hadoop.mapred.DeprecatedLzoTextInputFormat' 
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
location '/user/hive/warehouse/dirk.db/test';

 

配置hbase lzo

hadoop-lzo-0.4.18-SNAPSHOT.jar放入$HBASE_HOME/lib下,需要重启hbase

创建hbase表

create 'test',{NAME=>'f',COMPRESSION=>'LZO'}

 

alter 'dirktt',{NAME=>'f',COMPRESSION=>'LZO'}

 

 

结束

转 http://my.oschina.net/u/1169079/blog/225070

 

分享到:
评论

相关推荐

    hbase安装lzo压缩包的编译文件master

    总结来说,安装和配置HBase中的LZO压缩涉及到多个步骤,包括下载源码、编译、配置Hadoop和HBase,以及在Master节点上确保压缩功能的正确运行。合理使用LZO压缩可以显著提升HBase的存储和性能,但也要注意适时的性能...

    最近很火的大数据Hadoop之Hbase0.99.2最新版源码

    同时,HBase还支持多种数据压缩算法,如Snappy和LZO,通过`Compression`模块的源码,可以了解其压缩和解压缩的实现细节。 最后,HBase的客户端API提供了丰富的数据操作接口,包括`HTable`和`HBaseAdmin`等。这些...

    hadoop-lzo-0.4.20.jar

    拷贝jar包到hadoop和hbase中 cp /opt/hadoopgpl/lib/hadoop-lzo-0.4.20-SNAPSHOT.jar $HADOOP_HOME/share/hadoop/common/ cp /opt/hadoopgpl/lib/hadoop-lzo-0.4.20-SNAPSHOT.jar $HBASE_HOME/lib/ 2.2.6. 拷贝本地...

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

    在IT行业中,大数据处理是不可或缺的一部分,而Hadoop和HBase作为开源的分布式存储和处理框架,被广泛应用于海量数据的管理和分析。本篇将详细阐述如何在Hadoop 2.7.1环境下搭建HBase 1.2.1集群,并进行性能优化,以...

    hadoop-snappy-0.0.1-SNAPSHOT.tar.gz

    Hadoop支持多种压缩格式,包括Gzip、Bzip2和LZO等,而Snappy因其高性能特性,成为Hadoop推荐的压缩算法之一。在Hadoop中使用Snappy,可以提高MapReduce作业的性能,减少I/O操作,从而提升整体处理速度。 三、Snappy...

    hadoop毅哥的压缩包.7z

    标题中的“hadoop毅哥的...总之,这个压缩包提供了一个学习和操作Hadoop 2.7.2以及LZO压缩的起点,对于熟悉Hadoop的分布式存储和处理,以及数据压缩有极大的帮助。无论是初学者还是经验丰富的开发者,都可以从中受益。

    hadoop-cdh4.3-lzo安装及问题解决

    综上所述,"hadoop-cdh4.3-lzo安装及问题解决"涉及到的关键知识点包括Hadoop、CDH4.3、LZO压缩算法以及在企业级Hadoop环境中安装和优化LZO的过程。通过了解这些内容,可以有效提升Hadoop集群的数据处理效率,解决...

    Hbase设置Snappy压缩测试

    此外,HBase还支持其他压缩算法,如GZ和LZO。选择哪种压缩算法取决于你的具体需求,例如,如果你更关心压缩速度而不是压缩比,那么Snappy可能是更好的选择。 从提供的标签“源码”和“工具”来看,我们可能还会涉及...

    云计算hadoop伪集群+hbase安装配置手册(伪集群)

    - 测试LZO压缩和解压功能,确保其正常工作。 - 如果安装后发现lib包存在问题,可以参考文档中的补救措施。 #### 总结 通过上述步骤,可以在单台Linux服务器上成功构建并配置Hadoop伪集群和HBase服务。这对于学习和...

    HBase集群配置SNAPPY压缩

    大数据时代,海量数据的存储和分析是一个巨大的挑战,给hadoop或者hbase集群添加数据压缩的能力,是必不可少的,通过压缩不但能节约磁盘空间,而且也能节省集群间网络带宽的损耗,从而间接提高了集群任务的整体执行...

    HBase的性能优化

    启用LZO压缩可以将数据压缩到原来的一半大小,从而提高存储效率和查询性能。 调整Handler Count HBase的RegionServer处理器数量直接影响着写入性能。默认情况下,HBase的RegionServer处理器数量为10,可以根据实际...

    hadoop面试题:HBase与BigTable的比较.pdf

    HBase和BigTable都提供了数据块压缩功能,不过BigTable使用BMDiff和Zippy算法,而HBase则使用GZip和LZO压缩。 在列族管理上,BigTable的列族数量有限制,但理论上行数和列数是无限的。相比之下,HBase虽然理论上也...

    hadoop2.7.4-snappy

    例如,Snappy相比GZIP和LZO算法具有更高的压缩和解压速度,但压缩率相对较低。在CPU资源相对宽裕的环境中,使用Snappy可能是一个较好的选择,因为它能显著地减少I/O操作,提高数据处理的吞吐量。然而,在存储空间...

    hadoop-0.20.0.tar

    此外,Hadoop生态系统还包括其他组件,如Hive(数据仓库工具)、Pig(数据流处理)、HBase(NoSQL数据库)、Mahout(机器学习库)等,它们共同构建了一个完整的数据处理平台。这个早期版本的Hadoop可能不包含所有...

    elephant-bird-core-4.6rc1.zip

    在Pig中,Elephant Bird提供了用户定义的函数(UDFs),允许用户在Pig Latin脚本中直接处理LZO压缩和protobuf格式的数据。这极大地扩展了Pig的功能,使得数据处理更加灵活。 五、Hive SerDe 对于Hive,Elephant ...

    Hbase中文文档

    12.13. HBase 和 Hadoop 版本相关 12.14. 案例 13. 案例研究 13.1. 概要 13.2. Schema 设计 13.3. 性能/故障排除 14. HBase Operational Management 14.1. HBase Tools and Utilities 14.2. Region Management 14.3....

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

    在Hadoop和HBase文件传输可以在压缩之后在进行传输,这样就可以在传输的时候减少传输数据,增大I/O和带宽效率。在Hadoop中主要提供了三种压缩方式Gzip、LZO、Snappy三种数据压缩。实际使用中,可以考虑分别尝试两种...

    Hbase_2.0.3免费下载

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

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

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

    HBase应用最佳实践详解.pdf

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

Global site tag (gtag.js) - Google Analytics