snappy也是一个开源的高效压缩和解压框架。具体介绍,这里不再赘述,可以去官网查询。

 安装所需软件:gcc、g++、snappy包、hadoop-snappy源码包、maven.

 gcc在ubuntu上已经安装,如果未安装,包括g++,maven,可以通过以下命令安装

 
  
  1. sudo apt-get install gcc g++ maven2 

下载软件包:

  snappy :http://code.google.com/p/snappy/downloads/list

  执行如下命令:

 
  
  1. tar -zxvf snappy-1.0.5.tar.gz 
  2. cd snappy-1.0.5 
  3. ./configure 
  4. make 
  5. sudo make install 

  使用SVN客户端下载hadoop-snappy 源码:

  下载地址:http://hadoop-snappy.googlecode.com/svn/trunk/

 编译hadoop-snappy 需要automake和libtool包,执行如下命令:

 
  
  1. sudo apt-get install automake libtool 
  2. cd hadoop-snappy 
  3. mvn package 

然后把编译后的 hadoop-snappy-1.0.5-tar/hadoop-snappy-1.0.5/lib/ 下的jar包 拷贝到$HADOOP_HOME/lib下,修改配置文件core-site.xml

 
  
  1. <property> 
  2. <name>mapred.compress.map.output</name> 
  3. <value>true</value> 
  4. </property> 
  5. <property> 
  6. <name>mapred.map.output.compression.codec</name> 
  7. <value>org.apache.hadoop.io.compress.SnappyCodec</value> 
  8. </property> 
  9. <property> 
  10. <name>io.compression.codecs</name> 
  11. <value>org.apache.hadoop.io.compress.GzipCodec, 
  12. org.apache.hadoop.io.compress.DefaultCodec, 
  13. org.apache.hadoop.io.compress.BZip2Codec, 
  14. com.hadoop.compression.lzo.LzoCodec, 
  15. com.hadoop.compression.lzo.LzopCodec, 
  16. org.apache.hadoop.io.compress.SnappyCodec 
  17. </value> 
  18. </property> 
  19. <property> 
  20. <name>io.compression.codec.lzo.class</name> 
  21. <value>com.hadoop.compression.lzo.LzoCodec</value> 
  22. </property> 

然后重启hadoop完事。