Hadoop集群环境部署_lzo

56 篇文章 1 订阅
hadoop 压缩/ 解压插件 lzo安装说明

1、所需软件
apache-ant-1.8.0-bin.tar ant编译工具,必须大于1.7版本,否则有些属性不支持
kevinweil-hadoop-lzo-23e8370.tar 用来编译hadoop-lzo-0.4.13.jar文件
hadoop-gpl- compression-0.1.0-rc0.tar.gz 上面的替代方案,经测试此方案更佳,建议使用
lzo-2.04.tar lzo动态库编译
lzop-1.03.tar lzo客户端工具,用来压缩解压生成.lzo文件,供测试
2、安装ant工具
apache官方网站下载1.7以上版本
解压之后放入/usr/local/apache-ant-1.8.0
ANT_HOME=/usr/local/apache-ant-1.8.0
PATH=$PATH:$ANT_HOME/bin

source /etc/pro file
3、编译安装lzo库【 集群中得每台机器都需要安装,应该复制库文件就可以】 在安装过程中遇到很多异常错误,所以建议每台机器上编译安装
wget http://www.oberhumer.com/opensource/lzo/download/lzo-2.04.tar.gz
tar -zxvf lzo-2.04.tar.gz
./configure -- enable-shared
make
make install

库文件默认安装到/usr/local/lib目录下

需要进行一下操作中的任意一项:
a、拷贝/usr/local/lib目录下得lzo库到/usr/lib【/usr/lib64】根据系统决定
b、在/etc/ld.so.conf.d/目录下面新建lzo.conf文件,写入库文件的路径,然后运行/sbin/ldconfig -v 使配置生效
4、安装编码解码器
https:// github.com/kevinweil/hadoop-lzo上下载最新版本源码 目前为kevinweil-hadoop-lzo-23e8370.tar.gz
tar -zxvf kevinweil-hadoop-lzo-2ad6654.tar.gz 
cd kevinweil-hadoop-lzo-2ad6654 
ant compile-native tar

如果操作正确会生产相应的jar文件hadoop-lzo-0.4.13.jar用来部署到集群中

该步骤有几点注意:
a、如果遇到以下异常
/usr/bin/build-classpath: error: Could not find xml-commons-apis Java extension for this JVM
/usr/bin/build-classpath: error: Some specified jars were not found
  实为依赖插件没有正确安装,可以通过以下 命令安装
  yum -y remove  xml-commons-apis
  yum -y install xml-commons-apis
b、Class org.apache.too ls.ant.taskdefs.ConditionTask doesn't support the nested "typefound" element.
  原因:ant版本较低,升级到1.7.0以上版本  ant -version查看版本
  如果升级完成,环境变量也设置过还是出现以上异常 尝试绝对路径运行ant
  如:/usr/local/apache-ant-1.8.0/bin/ant compile-native tar
  
如果以上过程遇到错误,如下方案可行:
下载:http://code.google.com/a/apache-ex tras.org/p/hadoop-gpl-compression/downloads/list
本文下载:hadoop-gpl-compression-0.1.0-rc0.tar.gz
按以上编译过程编译,如果运行正确,会生成hadoop-gpl-compression-0.1.0.jar
【注:】此jar包适合非cdh3版本的hadoop,因为cdh3修改了hadoop源码中得compression类,所以如果您是cdh用户的话参照最后一步

5、拷贝编码解码器和native库到hadoop集群中
cp build/hadoop-lzo-0.4.10.jar /usr/local/cdh3u0/hadoop-0.20.2-CDH3B4/lib/
tar -cBf - -C build/native . | tar -xBvf - -C /usr/local/cdh3u0/hadoop-0.20.2-CDH3B4/lib/native

网上有文档说直接cp也可以
cd kevinweil-hadoop-lzo-2ad6654/build/native/Linux-amd64-64/lib 
cp * $HADOOP_HOME/lib/native/Linux-amd64-64 
cp * $HBASE_HOME/lib/native/Linux-amd64-64

6、配置hadoop集群配置文件 core-site.xml,mapred-site.xml

core-site.xml
<property>  
<name>io.compression.codecs</name>  
<value>org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.G zipCodec,org.apache.hadoop.io.compress.BZip2Codec,com.hadoop.compression.lzo.LzopCodec</value> 
</property> 

<property>  
<name>io.compression.codec.lzo.class</name>  
<value>com.hadoop.compression.lzo.LzoCodec</value> 
</property>  

mapred-site.xml

<property>  
<name>mapred.map.output.compress</name>  
<value>true</value>  
</property> 
 
<property>  
<name>mapred.child.env</name>  
<value>JAVA_LIBRARY_PATH=/usr/local/cdh3u0/hadoop-0.20.2-cdh3u1/lib/native/Linux-amd64-64</value>  
</property> 
 
<property>  
<name>mapred.map.output.compress.codec</name>  
<value>com.hadoop.compression.lzo.LzoCodec</value>
</property> 

7、lzo文件生成工具安装 用于生成一些lzo压缩文件,供测试

wget http://www.lzop.org/download/lzop-1.03.tar.gz  
tar -zxvf lzop-1.03  
cd lzop-1.03  
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib  
./configure  
make && make install

安装成功之后运行:
lzop -U -9 lzo-test.txt  将.txt文件压缩成.lzo文件
hadoop fs -copyFromLocal /home/hadoop/likl/lzo-test.txt.lzo lzo-test-in

【至关重要的一步】
http://code.google.com/p/hadoop-gpl-compression/下载lzo相关的native库(hadoop-gpl-compression-0.1.0-rc0.tar.gz)
解包,里面根目录有hadoop-gpl-compression-0.1.0.jar,lib目录下有相应的native库,

将hadoop-gpl-compression-0.1.0.jar拷贝到 hadoop的lib目录
将lib/native目录下面的库拷贝至hadoop/lib/native下面

********如果hadoop用的是cdh3版本,cloudora改写了compression类,所以需要在以上基础上修改源码进行重新编译
添加如下代码段:
import org.apache.hadoop.conf.Configuration;
public vo id reinit(Configuration conf) {
// do nothing  


ant重新编译后 将生成hadoop-gpl-compression-0.1.0-dev.jar拷贝至/hadoop/lib目下替换以前的包

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值