使用Hadoop的lzo问题

使用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位的就好了。把错误记录下来,总结下!

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/647f67264a54db8e3fefde014488777c.html