关于hadoop使用lzo压缩的流程

本文档提供了详细的步骤说明如何在CentOS 5.7上安装和配置Hadoop LZO压缩工具,包括从源码编译安装lzo库、安装hadoop-lzo组件、更新Hadoop配置文件等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.为何要使用lzo

看这里,http://blog.cloudera.com/blog/2009/11/hadoop-at-twitter-part-1-splittable-lzo-compression/

中文的也很多,搜索一下吧


2.安装流程(仅限linux  centos 5.7通过)

为编译hadoop的lzo准备的库

curl -O http://www.oberhumer.com/opensource/lzo/download/lzo-2.06.tar.gz
tar zxvf lzo-2.06.tar.gz
cd lzo-2.06
./configure --enable-shared
make
make install
#64位
cp /usr/local/lib/liblzo2* /usr/lib64/
#32位
cp /usr/local/lib/liblzo2* /usr/lib/

#64位
cp /usr/local/lib/liblzo2* /usr/lib64/
#32位
cp /usr/local/lib/liblzo2* /usr/lib/

有问题可安装rpm包

wget http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/lzo-devel-2.06-1.el5.rf.x86_64.rpm
wget http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/lzo-2.06-1.el5.rf.x86_64.rpm

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


3.安装 hadoop-lzo 

#来源https://github.com/twitter/hadoop-lzo/
部分网来上提供的是https://github.com/kevinweil/hadoop-lzo,这个是老版本的
wget https://github.com/twitter/hadoop-lzo/archive/master.zip
unzip master
#更新hadoop-lzo中的pom.xml
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <hadoop.current.version>2.2.0</hadoop.current.version>
    <hadoop.old.version>1.0.4</hadoop.old.version>
  </properties>
export CFLAGS=-m64
export CXXFLAGS=-m64
mvn clean package -Dmaven.test.skip=true
cd target/native/Linux-amd64-64
tar -cBf - -C lib . | tar -xBvf - -C ./
cp ./libgplcompression* /opt/modules/hadoop/lib/native/
cp target/hadoop-lzo-0.4.20-SNAPSHOT.jar /opt/modules/hadoop/share/hadoop/common/
(这一步很重要的,拷贝到<span style="font-family: Arial, Helvetica, sans-serif;">hadoop/lib下,我这里是不能发现该jar的</span>)

4.更新配置

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>  
  <property>       
    <name>io.compression.codec.lzo.class</name>       
    <value>com.hadoop.compression.lzo.LzoCodec</value>    
  </property> 
</configuration>

mapred-site.xml(可选)
 <property>
        <name>mapred.compress.map.output</name>
        <value>true</value>
  </property>
  <property>       
      <name>mapred.map.output.compression.codec</name>        
      <value>com.hadoop.compression.lzo.LzoCodec</value>     
  </property>  

5.lzo文件的处理,创建索引

hadoop jar /path/to/hadoop-lzo.jar com.hadoop.compression.lzo.LzoIndexer /lzo_logs

6.mapreduce的变化

一般的jar包,使用的是新接口,用LzoTextInputFormat代替TextInputFormat即可

stream方式的mapreduce增加参数 -inputformat com.hadoop.mapred.DeprecatedLzoTextInputFormat 

7.其他,参考源码readme:

https://github.com/twitter/hadoop-lzo/


8.本地支持lzo文件

#安装lzop-1.03.tar.gz
tar zxvf lzop-1.03.tar.gz
cd lzop-1.03
./configure
make
make install



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值