hadoop再次配置lzo

最近又重新进行了一次配置lzo压缩,步骤如下:

安装前,必须的工具:

 lib* glibc* gcc*

ant mvn

注意:确定gcc版本,之前网上有人说不能使用超过4.4版本的gcc,我在安装过程中使用的gcc4.1.2的版本,也是正常的

 

操作系统名称:

Linux master 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:39 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux

根据此操作系统,需要安装关联库列表:

kevinweil-hadoop-lzo-6bb1b7f.tar.gz
lzo-2.06-1.el5.rf.x86_64.rpm(根据具体操作系统信息,下载对应的rpm包)
lzo-2.06.tar.gz
lzo-devel-2.06-1.el5.rf.x86_64.rpm(根据具体操作系统信息,下载对应的rpm包)
lzop-1.03.tar.gz

现在在网上下载不到kevinweil-hadoop-lzo-6bb1b7f.tar.gz,变成了hadoop-lzo-master.zip,里面的内容都一样,只是压缩方式不同而已。

 

安装lzo-2.06.tar.gz
在linux下面,运行命令:
解压后
cd lzo-2.06
执行三部曲:

./configure --enable-shared 
make 
make install

默认安装到/usr/local/lib目录下,然后进行复制操作:

cp /usr/local/lib/liblzo2.* /usr/lib64 (64位)

cp /usr/local/lib/liblzo2.* /usr/lib (32位)

 

安装: lzo-2.06-1.el5.rf.x86_64.rpm和lzo-devel-2.06-1.el5.rf.x86_64.rpm

下载网址:http://pkgs.repoforge.org/lzo/

在liunx下面运行命令:

wget http://pkgs.repoforge.org/lzo/lzo-2.06-1.el5.rf.x86_64.rpm

rpm -ivh lzo-2.06-1.el5.rf.x86_64.rpm

wget http://pkgs.repoforge.org/lzo/lzo-devel-2.06-1.el5.rf.x86_64.rpm

rpm -ivh lzo-devel-2.06-1.el5.rf.x86_64.rpm

安装注意:在我的安装过程中,出现了rpm运行没有任何反应,感觉就阻塞了,通过搜索网上资料,是因为当前机器里的nfs挂载无效导致,卸载掉这个,就运行正常了。

另外就是以上安装是跟具体的操作系统名称来下载对应的rpm包的,具体内容在下载网址里自行寻找。

 

 

安装lozp-1.03.tar.gz

下载网址:http://www.lzop.org/download/

在liunx下面运行命令:

wget http://www.lzop.org/download/lzop-1.03.tar.gz

解压此文件

cd lzop-1.03

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

执行三部曲:

./configure --enable-shared 
make 
make install

验证是否安装成功,运行如下:

[hadoop@master install_software]$ lzop
                          Lempel-Ziv-Oberhumer Packer
                           Copyright (C) 1996 - 2010
lzop v1.03         Markus Franz Xaver Johannes Oberhumer          Nov 1st 2010

Usage: lzop [-dxlthIVL19] [-qvcfFnNPkUp] [-o file] [-S suffix] [file..]

Commands:
  -1     compress faster                   -9    compress better
  -d     decompress                        -x    extract (same as -dPp)
  -l     list compressed file              -I    display system information
  -t     test compressed file              -V    display version number
  -h     give this help                    -L    display software license
Options:
  -q     be quiet                          -v       be verbose
  -c     write on standard output          -oFILE   write output to 'FILE'
  -p     write output to current dir       -pDIR    write to path 'DIR'
  -f     force overwrite of output files
  -n     do not restore the original file name (default)
  -N     restore the original file name
  -P     restore or save the original path and file name
  -S.suf use suffix .suf on compressed files
  -U     delete input files after successful operation (like gzip and bzip2)
  file.. files to (de)compress. If none given, try standard input.

 

 

安装kevinweil-hadoop-lzo-6bb1b7f.tar.gz,此包就是hadoop for lzo的库

下载网址:https://github.com/kevinweil/hadoop-lzo/

注意:之前的老版本可以在https://github.com/kevinweil/hadoop-lzo/downloads下载到kevinweil-hadoop-lzo-6bb1b7f.tar.gz(现在不行了)

目前下载的包是:hadoop-lzo-master.zip,内容一样的,只是压缩方式不同

解压此包:

cd kevinweil-hadoop-lzo-6bb1b7f

export CFLAGS=-m32 

export CXXFLAGS=-m32 

ant compile-native  

or 

export CFLAGS=-m64 

export CXXFLAGS=-m64 

ant compile-native tar

 

执行成功后

cp build/hadoop-lzo-0.4.15.jar $HADOOP_HOME/lib/

cp /build/native/Linux-i386-32/lib/*  $HADOOP_HOME/lib/native/Linux-i386-32/ (32位)

or

cp /build/native/Linux-amd64-64/lib/*  $HADOOP_HOME/lib/native/Linux-amd64-64/ (64位)

 

 以上操作完后,就修改hadoop配置文件相关参数:

core-site.xml (注意红色字体): 

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

 

mapred-site.xml:  

<property> 
<name>mapred.compress.map.output</name> 
<value>true</value> 
</property>
<property>
<name>mapred.output.compress</name>
<value>true</value>
</property> 
<property>   
<name>mapred.child.env</name>   
<value>JAVA_LIBRARY_PATH=/home/hadoop/hadoop-1.0.3/lib/native/Linux-amd64-64</value>   
</property> 

注意:如果是32位,mapred.child.env的值为:

 JAVA_LIBRARY_PATH=/home/hadoop/hadoop-1.0.3/lib/native/Linux-i386-32

 

最后验证lzo,很幸运,hadoop for lzo有自己的验证方式,运行命令如下:

本地随便找个文件,我以文件hive-default-1151367623824834635.xml为例,先进行lzo压缩,运行命令如下:

lzop -9 hive-default-1151367623824834635.xml

就会生成hive-default-1151367623824834635.xml.lzo

然后运行命令:

mv hive-default-1151367623824834635.xml.lzo hive-default-1151367623824834635.xml.lzo_deflate

进行改名,将此文件上传到HDFS目录上,执行下面命令:

hadoop dfs -put hive-default-1151367623824834635.xml.lzo_deflate /user/hadoop/

然后执行验证命令:

hadoop jar $HADOOP_HOME/lib/hadoop-lzo-0.4.15.jar com.hadoop.compression.lzo.LzoIndexer /user/hadoop/hive-default-1151367623824834635.xml.lzo_deflate
13/11/13 11:34:35 INFO lzo.GPLNativeCodeLoader: Loaded native gpl library
13/11/13 11:34:35 INFO lzo.LzoCodec: Successfully loaded & initialized native-lzo library [hadoop-lzo rev 6bb1b7f8b9044d8df9b4d2b6641db7658aab3cf8]
[hadoop@master build]$

 

以上说明:hadoop平台上的lzo压缩后缀名为:lzo_deflate而不是lzo。

 

 

 

 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值