配置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压缩涉及到多个步骤,包括下载源码、编译、配置Hadoop和HBase,以及在Master节点上确保压缩功能的正确运行。合理使用LZO压缩可以显著提升HBase的存储和性能,但也要注意适时的性能...
同时,HBase还支持多种数据压缩算法,如Snappy和LZO,通过`Compression`模块的源码,可以了解其压缩和解压缩的实现细节。 最后,HBase的客户端API提供了丰富的数据操作接口,包括`HTable`和`HBaseAdmin`等。这些...
拷贝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. 拷贝本地...
在IT行业中,大数据处理是不可或缺的一部分,而Hadoop和HBase作为开源的分布式存储和处理框架,被广泛应用于海量数据的管理和分析。本篇将详细阐述如何在Hadoop 2.7.1环境下搭建HBase 1.2.1集群,并进行性能优化,以...
Hadoop支持多种压缩格式,包括Gzip、Bzip2和LZO等,而Snappy因其高性能特性,成为Hadoop推荐的压缩算法之一。在Hadoop中使用Snappy,可以提高MapReduce作业的性能,减少I/O操作,从而提升整体处理速度。 三、Snappy...
标题中的“hadoop毅哥的...总之,这个压缩包提供了一个学习和操作Hadoop 2.7.2以及LZO压缩的起点,对于熟悉Hadoop的分布式存储和处理,以及数据压缩有极大的帮助。无论是初学者还是经验丰富的开发者,都可以从中受益。
综上所述,"hadoop-cdh4.3-lzo安装及问题解决"涉及到的关键知识点包括Hadoop、CDH4.3、LZO压缩算法以及在企业级Hadoop环境中安装和优化LZO的过程。通过了解这些内容,可以有效提升Hadoop集群的数据处理效率,解决...
此外,HBase还支持其他压缩算法,如GZ和LZO。选择哪种压缩算法取决于你的具体需求,例如,如果你更关心压缩速度而不是压缩比,那么Snappy可能是更好的选择。 从提供的标签“源码”和“工具”来看,我们可能还会涉及...
- 测试LZO压缩和解压功能,确保其正常工作。 - 如果安装后发现lib包存在问题,可以参考文档中的补救措施。 #### 总结 通过上述步骤,可以在单台Linux服务器上成功构建并配置Hadoop伪集群和HBase服务。这对于学习和...
大数据时代,海量数据的存储和分析是一个巨大的挑战,给hadoop或者hbase集群添加数据压缩的能力,是必不可少的,通过压缩不但能节约磁盘空间,而且也能节省集群间网络带宽的损耗,从而间接提高了集群任务的整体执行...
启用LZO压缩可以将数据压缩到原来的一半大小,从而提高存储效率和查询性能。 调整Handler Count HBase的RegionServer处理器数量直接影响着写入性能。默认情况下,HBase的RegionServer处理器数量为10,可以根据实际...
HBase和BigTable都提供了数据块压缩功能,不过BigTable使用BMDiff和Zippy算法,而HBase则使用GZip和LZO压缩。 在列族管理上,BigTable的列族数量有限制,但理论上行数和列数是无限的。相比之下,HBase虽然理论上也...
例如,Snappy相比GZIP和LZO算法具有更高的压缩和解压速度,但压缩率相对较低。在CPU资源相对宽裕的环境中,使用Snappy可能是一个较好的选择,因为它能显著地减少I/O操作,提高数据处理的吞吐量。然而,在存储空间...
此外,Hadoop生态系统还包括其他组件,如Hive(数据仓库工具)、Pig(数据流处理)、HBase(NoSQL数据库)、Mahout(机器学习库)等,它们共同构建了一个完整的数据处理平台。这个早期版本的Hadoop可能不包含所有...
在Pig中,Elephant Bird提供了用户定义的函数(UDFs),允许用户在Pig Latin脚本中直接处理LZO压缩和protobuf格式的数据。这极大地扩展了Pig的功能,使得数据处理更加灵活。 五、Hive SerDe 对于Hive,Elephant ...
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....
在Hadoop和HBase文件传输可以在压缩之后在进行传输,这样就可以在传输的时候减少传输数据,增大I/O和带宽效率。在Hadoop中主要提供了三种压缩方式Gzip、LZO、Snappy三种数据压缩。实际使用中,可以考虑分别尝试两种...
2. 表和Column Family的压缩优化:支持更多压缩算法,如LZO、Snappy和Gzip,可以灵活配置以节省存储空间。 3. Coprocessor框架:允许用户自定义逻辑在服务器端运行,实现细粒度的数据处理和验证,提高效率。 4. 新的...
在数据压缩方面,Hadoop和Hbase支持Gzip、LZO和Snappy三种压缩算法。选择合适的压缩方式不仅能减少传输数据,还能提高I/O和带宽效率。实际应用中,应根据业务需求和硬件性能对比测试,选取最佳方案。 对于写表操作...
* 启用压缩:使用GZIP、Snappy、LZO等压缩算法可以提高HBase的性能 * MemStore缓存配置: MemStore缓存可以提高HBase的性能 * Region拆分和合并:预建分区可以避免自动split,提高HBase的响应速度 * Region均衡:...