snappy也是一个开源的高效压缩和解压框架。具体介绍,这里不再赘述,可以去官网查询。
安装所需软件:gcc、g++、snappy包、hadoop-snappy源码包、maven.
gcc在ubuntu上已经安装,如果未安装,包括g++,maven,可以通过以下命令安装
- sudo apt-get install gcc g++ maven2
下载软件包:
snappy :http://code.google.com/p/snappy/downloads/list
执行如下命令:
- tar -zxvf snappy-1.0.5.tar.gz
- cd snappy-1.0.5
- ./configure
- make
- sudo make install
使用SVN客户端下载hadoop-snappy 源码:
下载地址:http://hadoop-snappy.googlecode.com/svn/trunk/
编译hadoop-snappy 需要automake和libtool包,执行如下命令:
- sudo apt-get install automake libtool
- cd hadoop-snappy
- mvn package
然后把编译后的 hadoop-snappy-1.0.5-tar/hadoop-snappy-1.0.5/lib/ 下的jar包 拷贝到$HADOOP_HOME/lib下,修改配置文件core-site.xml
- <property>
- <name>mapred.compress.map.output</name>
- <value>true</value>
- </property>
- <property>
- <name>mapred.map.output.compression.codec</name>
- <value>org.apache.hadoop.io.compress.SnappyCodec</value>
- </property>
- <property>
- <name>io.compression.codecs</name>
- <value>org.apache.hadoop.io.compress.GzipCodec,
- org.apache.hadoop.io.compress.DefaultCodec,
- org.apache.hadoop.io.compress.BZip2Codec,
- com.hadoop.compression.lzo.LzoCodec,
- com.hadoop.compression.lzo.LzopCodec,
- org.apache.hadoop.io.compress.SnappyCodec
- </value>
- </property>
- <property>
- <name>io.compression.codec.lzo.class</name>
- <value>com.hadoop.compression.lzo.LzoCodec</value>
- </property>
然后重启hadoop完事。