Map的输出进行LZO压缩

来源:互联网 发布:外汇牌价查询软件 编辑:程序博客网 时间:2024/05/16 09:47

1、先到这里下载 http://www.oberhumer.com/opensource/lzo/ lzo的最新发布版

2、配置 ./configure –enable-shared –prefix /usr/local/lzo-2.08

3、安装 make && sudo make install 

4、按照传统所有的liblzo*往/usr/lib下拷一份

接下来编译 hadoop-lzo ,先要从 https://github.com/twitter/hadoop-lzo/archive/master.zip  这下下来zip包,解压。然后

1、设置这个环境变量

C_INCLUDE_PATH=/usr/local/lzo-2.08/include

LIBRARY_PATH=/usr/local/lzo-2.08/lib

2、运行 mvn clean package  -Dmaven.test.failure.ignore=true

3. 把hadoop-lzo-0.4.20-SNAPSHOT.jar  copy到 $HADOOP_HOME/lib

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>  

一下是转载:
1.需要使用root安装liblzo动态链接库
  1. #root

  2. scp hostname:/lib64/liblzo2.so.2.0.0  /lib64

  3. cd /lib64/

  4. ln -s liblzo2.so.2.0.0 liblzo2.so

  5. ln -s liblzo2.so.2.0.0 liblzo2.so.2
复制代码

--检查下是否拷贝进去了
  1. ls -l /lib64|grep lzo|wc -l

  2. 3
复制代码


2.安装gpl jar包和本地库
  1. su - 指定用户下

  2. --jar

  3. cp  ./hadoop-gpl-compression-0.1.0-dev.jar  $HADOOP_HOME/lib

  4. -- local library

  5. cp   ./Linux-amd64-64.tar   $HADOOP_HOME/lib/native

  6. cp  ./Linux-i386-32.tar   $HADOOP_HOME/lib/native


  7. cd $HADOOP_HOME/lib/native


  8. tar -xf Linux-amd64-64.tar

  9. tar -xf Linux-i386-32.tar


  10. ls -l Linux-amd64-64|wc -l

  11. ls -l Linux-i386-32|wc -l
复制代码


3.修改两个配置文件
cd $HADOOP_CONF_DIR

修改hadoop配置文件 $HADOOP_CONF_DIR/core-site.xml
  1. <property> 

  2.   <name>io.compression.codecs</name> 

  3.   <value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,com.hadoop.compression.lzo.LzoCodec,org.apache.hadoop.io.compress.BZip2Codec</value> 

  4. </property> 

  5. <property> 

  6.   <name>io.compression.codec.lzo.class</name> 

  7.   <value>com.hadoop.compression.lzo.LzoCodec</value> 

  8. </property>
复制代码



修改hadoop配置文件 $HADOOP_CONF_DIR/mapred-site.xml (包含慢启动)
  1.   <property>

  2.     <name>mapred.reduce.slowstart.completed.maps</name>

  3.     <value>0.3</value>

  4.   </property>

  5.   <property> 

  6.     <name>mapred.compress.map.output</name> 

  7.     <value>true</value> 

  8.   </property> 

  9.   <property> 

  10.     <name>mapred.map.output.compression.codec</name> 

  11.     <value>com.hadoop.compression.lzo.LzoCodec</value> 

  12.   </property>  
复制代码

0 0
原创粉丝点击