hadoop-gpl-compression 安装和编译

从Hadoop 0.20.X开始,由于lzo压缩格式GPL形式授权的影响,lzo压缩从hadoop发布包中取消,转而成为Google Code中的一个项目hadoop-gpl-compression。本文介绍hadoop-gpl-compression的安装和编译。这里之所以叫安装和编译,而不是编译和安装,是因为安装并不一定需要编译,安装不成功才需要自己动手编译。

测试环境:
  操作系统:Ubuntu 8.04
  Java:  SUN JDK 1.6.0_16,假设已设置完环境变量$JAVA_HOME
  Hadoop: hadoop-0.20.1,假设已正确安装完毕,且安装目录是$HADOOP_HOME
  安装目标:hadoop-gpl-compression-0.1.0-rc0

一.hadoop-gpl-compression安装步骤:
  1.下载hadoop-gpl-compression-0.1.0-rc0.tar.gz

[python] view plain copy
  1. wget http://hadoop-gpl-compression.googlecode.com/files/hadoop-gpl-compression-0.1.0-rc0.tar.gz  
  2.解压下载的包
[python] view plain copy
  1. tar -xvf hadoop-gpl-compression-0.1.0-rc0.tar.gz  
  3.把hadoop-gpl-compression-0.1.0.jar挪到hadoop安装目录的lib子目录下
[python] view plain copy
  1. mv hadoop-gpl-compression-0.1.0/hadoop-gpl-compression-0.1.0.jar $HADOOP_HOME/lib/  
  4.把本地库文件挪到hadoop相应的本地库文件目录下
[python] view plain copy
  1. mv hadoop-gpl-compression-0.1.0/lib/native/Linux-i386-32/* hadoop-0.20.1/lib/native/Linux-i386-32/  
  2. mv hadoop-gpl-compression-0.1.0/lib/native/Linux-amd64-64/* hadoop-0.20.1/lib/native/Linux-amd64-64/  
  5.删除下载的hadoop-gpl-compression
[python] view plain copy
  1. rm -r hadoop-gpl-compression-0.1.0 hadoop-gpl-compression-0.1.0-rc0.tar.gz  
  6.每台hadoop机器上执行上述步骤,也可以把本机$HADOOP_HOME目录用scp命令分发到每一个节点。

  至此安装完成,enjoy your lzo compression!

  但是往往安装不会那么一帆风顺,有可能机器不带有lzo解压缩的库,需要下载编译lzo的本地类库。

二.lzo类库安装步骤:
  1.检查gcc、g++等编译工具已经安装,没有安装则执行以下命令安装:

[python] view plain copy
  1. sudo apt-get install g++  
  2. sudo apt-get install gcc  
  2.下载lzo源文件包
[python] view plain copy
  1. wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.03.tar.gz  
  3.解压下载的lzo包
[python] view plain copy
  1. tar -xvf lzo-2.03.tar.gz  
  4.安装lzo包
[python] view plain copy
  1. sudo ./configure  
  2. sudo make  
  3. sudo make install  
  注:这里需要用超级用户权限编译和安装,否则编译安装将会失败。

  至此,lzo类库编译安装完毕。

  但是还会有少部分用户发现还是用不了,或者希望自己进行编译,那么下面继续:

三.hadoop-gpl-compression的编译和安装
  0.假设hadoop-0.20.1已经安装完毕,假设安装目录是$HADOOP_HOME,假设lzo类库的安装已经完成(具体步骤见上一段);

  1.安装必要的包,这一步列举的一些包没有经过完全验证,但是在没装这些包之前一直无法编译过去,在装了之后便以正确,但没有精确去考证是什么包起的作用,这里把所有包一并列出

[python] view plain copy
  1. sudo apt-get install gcc  
  2. sudo apt-get install g++  
  3. sudo apt-get install gobjc  
  4. sudo apt-get install autoconf  
  5. sudo apt-get install automake  
  6. sudo apt-get install libtool  
  7. sudo apt-get install libcompress-lzo-perl  
  8. sudo apt-get install lzop  
  9. sudo apt-get install liblzo2-dev  
  2.下载hadoop-gpl-compression-0.1.0-rc0.tar.gz并解压
[python] view plain copy
  1. wget http://hadoop-gpl-compression.googlecode.com/files/hadoop-gpl-compression-0.1.0-rc0.tar.gz  
  2. tar -xvf hadoop-gpl-compression-0.1.0-rc0.tar.gz  
  3.如果没有安装ant,下载并安装,安装过的忽略本步骤
[python] view plain copy
  1. wget http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0RC1-bin.tar.gz  
  2. tar -xvf apache-ant-1.8.0RC1-bin.tar.gz  
  4.复制hadoop的类库到hadoop-gpl-compression中
[python] view plain copy
  1. cp hadoop-0.20.1/*.jar hadoop-gpl-compression-0.1.0/lib/  
  5.设置环境变量
    若是32位系统,执行:
[python] view plain copy
  1. export CFLAGS=-m32  
  2. export CXXFLAGS=-m32  
    若是64位系统,执行:
[python] view plain copy
  1. export CFLAGS=-m64  
  2. export CXXFLAGS=-m64  
  6.执行ant进行编译并打包
[python] view plain copy
  1. sudo apache-ant-1.8.0RC1/bin/ant compile-native tar  
  7.安装hadoop-gpl-compression
[python] view plain copy
  1. tar -xvf hadoop-gpl-compression-0.1.0/build/hadoop-gpl-compression-0.1.0-dev.tar.gz  
  2. mv hadoop-gpl-compression-0.1.0-dev/hadoop-gpl-compression-0.1.0-dev.jar $HADOOP_HOME/lib/  
  3. mv hadoop-gpl-compression-0.1.0-dev/lib/native/Linux-i386-32/* hadoop-0.20.1/lib/native/Linux-i386-32/  
  4. mv hadoop-gpl-compression-0.1.0-dev/lib/native/Linux-amd64-64/* hadoop-0.20.1/lib/native/Linux-amd64-64/  
  8.删除hadoop-gpl-compression目录
[python] view plain copy
  1. sudo rm -r hadoop-gpl-compression-0.1.0*  
    如果下了ant且不想保留,也可以一并删除:
[python] view plain copy
  1. rm -r apache-ant-1.8.0RC1  

  至此,hadoop-gpl-compression已经编译并安装完毕

四.其他事项

  1.如果服务器访问外网需要代理如何设置
    执行如下命令:

[python] view plain copy
  1. export http_proxy=http://username:password@host:port  
    其中username、password、host、port用具体值替换。当然如果密码有不规则字符要小心,该转义的要转义。
  2.如果ant编译时需要代理则需要事先设置ANT_OPTS(这一条是网上查的,没有经过验证)
[python] view plain copy
  1. export ANT_OPTS="-Dhttp.proxyHost=host -Dhttp.proxyPort=port -Dhttp.proxyUserName=username -Dhttp.proxyPassword=password"  
    其中username、password、host、port用具体值替换。当然如果密码有不规则字符要小心,该转义的要转义。
  3.如果用的是NTLM的代理,会比较麻烦,ant将会无法通过代理,这时候需要在一个能直接访问的局域网内存在一个maven库。
   3.1修改hadoop-gpl-compression-0.1.0/build.xml
    找到行:
[xhtml] view plain copy
  1. <property name="ivy_repo_url" value="http://repo2.maven.org/maven2/org/apache/ivy/ivy/${ivy.version}/ivy-${ivy.version}.jar"/>  
    改为
[xhtml] view plain copy
  1. <property name="ivy_repo_url" value="http://maven_repo/org/apache/ivy/ivy/${ivy.version}/ivy-${ivy.version}.jar"/>  
   3.2修改hadoop-gpl-compression-0.1.0/ivy/ivysettings.xml文件
    找到行:
[xhtml] view plain copy
  1. value="http://repo1.maven.org/maven2/"  
    改为:
[xhtml] view plain copy
  1. value="http://maven_repo/"  
    其中maven_repo是本地maven库的位置。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值