hadoop中安装lzo

来源:互联网 发布:学计算机编程的书籍 编辑:程序博客网 时间:2024/04/30 06:19

测试环境centos 6.3  32位机器。

1,安装lzop native libraries

使用在线yum安装或者下载后rpm安装,我试验中发现sudo yum install lzop lzo2 发现不了想用的包 ,应该是没配置好yum源。

http://www.oberhumer.com/opensource/lzo/download/  注意自己机器的位数,根据包的说明选择相应的包下载。

由于cento6.3是el6内核所以选择lzo-2.06-1.el6.rfx.i686.rpm,lzo-devel-2.06-1.el6.rfx.i686.rpm

 

2,下载lzo

有两种方法

方法一:参考http://www.24xuexi.com/w/2011-11-25/98336.html

本文使用第二种方法,简单些,首先从如下地址

https://github.com/kevinweil/hadoop-lzo下载hadoop-lzo-master,解压后

3, 编译

导入两个编译的变量32表示32位机器。

[user@fakeDistnode hadoop-lzo-master]$ export CFLAGS=-m32
[user@fakeDistnode hadoop-lzo-master]$ export CXXFLAGS=-m32
[user@fakeDistnode hadoop-lzo-master]$ ant compile-native tar
[user@fakeDistnode hadoop-lzo-master]$ cd build
[user@fakeDistnode build]$ ls
classes  hadoop-lzo-0.4.15      hadoop-lzo-0.4.15.tar.gz  native  test
docs     hadoop-lzo-0.4.15.jar  ivy                       src


拷贝 build/hadoop-lzo-0.4.15.jar 到 $HADOOP_HOME/lib

4, 修改haoop的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,org.apache.hadoop.io.compress.SnappyCodec,com.hadoop.compression.lzo.LzoCodec</value>
  <description>A list of the compression codec classes that can be used
               for compression/decompression.</description>
</property>
<property>
  <name>io.compression.codec.lzo.class</name>
  <value>com.hadoop.compression.lzo.LzoCodec</value>
</property>

 

5 [user@fakeDistnode hadoop-lzo-master]$ cp build/native/Linux-i386-32/lib/libgplcompression.so $HADOOP_HOME/lib/native/Linux-i386-32/

本文使用的伪分布式,所以集群方式请

参考:

http://www.24xuexi.com/w/2011-11-14/98264.html

http://www.24xuexi.com/w/2011-11-25/98336.html

 

本文也参考了北风网视频教程

如果ant compile-native tar有问题,可如下尝试。

修改 build.xml
    搜索javah
    加上<classpath refid="classpath"/>
  <javah classpath="${build.classes}"
           destdir="${build.native}/src/com/hadoop/compression/lzo"
           force="yes"
           verbose="yes">
      <class name="com.hadoop.compression.lzo.LzoCompressor" />
      <class name="com.hadoop.compression.lzo.LzoDecompressor" />
      <classpath refid="classpath"/>
    </javah>
原创粉丝点击