Hadoop2中启用snappy
Hadoop2中启用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压缩,则需要增加如下配置:
<property> <name>mapreduce.map.output.compress</name> <value>true</value> </property> <property> <name>mapreduce.map.output.compress.codec</name> <value>org.apache.hadoop.io.compress.SnappyCodec</value> </property>
评论暂时关闭