使用lzo压缩替换hadoop原始的Gzip压缩。相比之下有如下特点:
我们这使用的是hadoop客户端。
1.压缩解压的速度很快
2.lzo压缩是基于block分块的。这样,一个大文件(在hadoop上可能会占用多个block),就可以有多个 MapReduce并行来进行处理。
虽然Lzo的压缩比没有Gzip高,不过由于其前2个特性,在Hadoop上使用Lzo还是能整体提升集群的性能的。能提高效率的即是合理的。
接下来说说我遇到的问题:
以下是各个配置
1.Linux 83_20 2.6.18-128.el5 #1 SMP Wed Dec 17 11:41:38 EST 2008 x86_64 x86_64 x86_64 GNU/Linux
2.hadoop-0.20.2
3.jdk1.6 32位。[出现问题就在这里]
结果在运行时出现如下问题:
11/08/22 18:12:50 INFO input.FileInputFormat: Total input paths to process : 1
11/08/22 18:12:50 ERROR lzo.GPLNativeCodeLoader: Could not load native gpl library
java.lang.UnsatisfiedLinkError: no gplcompression in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1709)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
at com.hadoop.compression.lzo.GPLNativeCodeLoader.<clinit>(GPLNativeCodeLoader.java:32)
at com.hadoop.compression.lzo.LzoCodec.<clinit>(LzoCodec.java:71)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:943)
检查了好半天原来是jdk版本的问题,改成64位的就好了。把错误记录下来,总结下!
分享到:
相关推荐
hadoop2 lzo 文件 ,编译好的64位 hadoop-lzo-0.4.20.jar 文件 ,在mac 系统下编译的,用法:解压后把hadoop-lzo-0.4.20.jar 放到你的hadoop 安装路径下的lib 下,把里面lib/Mac_OS_X-x86_64-64 下的所有文件 拷到 ...
hadoop-lzo-0.4.21-SNAPSHOT.jar是hadoop数据压缩lzo工具包
编译后的hadoop-lzo源码,将hadoop-lzo-0.4.21-SNAPSHOT.jar放到hadoop的classpath下 如${HADOOP_HOME}/share/hadoop/common。hadoop才能正确支持lzo,免去编译的烦恼
hadoop-lzo-0.4.13.jar 依赖包 hadoop-lzo-0.4.13.jar 依赖包 hadoop-lzo-0.4.13.jar 依赖包
hadoop用于解析lzo的包,这个问题在使用presto的时候需要将此包添加到presto的工具包中,以支持lzo格式文件的查询。
hadoop-lzo-0.4.15.tar.gz
配置hadoop支持LZO和snappy压缩
将生成的 build/hadoop-lzo-0.4.15.jar cp 到 /usr/local/hadoop-1.0.2/lib 测试解压程序 bin/hadoop jar /usr/local/hadoop-1.0.2/lib/hadoop-lzo-0.4.15.jar ...
hadoop lzo 压缩算法的所有工程,包括hadoop-lzo-master,编译好之后的target文件夹和hadoop-lzo-0.4.20-SNAPSHOT.jar文件。复制到eclipse中,可以直接使用lzo压缩算法。
hadoop2 lzo 文件 ,编译好的64位 hadoop-lzo-0.4.15.jar 文件 ,在mac 系统下编译的,用法:解压后把hadoop-lzo-0.4.15.jar 放到你的hadoop 安装路径下的lib 下,把里面lib/Mac_OS_X-x86_64-64 下的所有文件 拷到 ...
hdfs默认不支持lzo压缩,需要通过将lzo源码融入hadoop源码,重新编译hadoop源码;或者编译lzo源码生成jar,作为插件使用
hadoop lzo 压缩jar包,本人已经编译好,提供大家下载。
LZO:实时数据压缩库 hadoop-LZO:hadoop中可切割数据的LZO压缩 资源包含:lzo-2.06.tar.gz, hadoop-lzo-master.zip