hadoop2.x配置 - 启用snappy

Snappy是一个压缩/解压缩库。它的压缩率并非最高,但是它在保证一定压缩率情况下,压缩及解压缩速度非常快。基于以上特点,Snappy非常适合用于Hadoop MapReduce中间数据压缩。Snappy详情参见:http://code.google.com/p/snappy/。 本文将介绍如何在Hadoop2中启用Snappy压缩。

1、下载Snappy的rpm包:

http://www.rpmfind.net/linux/rpm2html/search.php?query=snappy

根据不同操作系统选择不同的版本,如x86_64 RetHat Linux选择snappy-1.0.5-1.el5.x86_64


2、安装snappy

$ sudo rpm -ivh snappy-1.0.5-1.el5.x86_64.rpm


3、找到libsnappy.so*所在位置

$ rpm -ql snappy-1.0.5-1.el5


4、将libsnappy.so.*拷贝到${HADOOP_HOME}/lib/native目录下。

如果自己维护了一套Hadoop2版本,最好将libsnappy.so.*放到hadoop-dist/lib/native目录下,并hack下hadoop-dist/pom.xml文件,使得打包时将hadoop-diste/lib/native/*拷贝到最终的lib/native目录下。


5、重启NodeManager即可。


如果MR作业要启用中间数据Snappy压缩,则需要增加如下配置:

[html] view plain copy
  1. <property>  
  2.    <name>mapreduce.map.output.compress</name>  
  3.     <value>true</value>  
  4. </property>  
  5.   
  6. <property>  
  7.     <name>mapreduce.map.output.compress.codec</name>  
  8.     <value>org.apache.hadoop.io.compress.SnappyCodec</value>  
  9. </property> 

你可能感兴趣的:(hadoop2.x配置 - 启用snappy)