snappy是google的一个开源的压缩库,在合理的压缩率的前提下提供了提供了一个很高的压缩/解压的速度,利用单颗Intel Corei7处理器内核处理达到每秒处理250MB~500MB的数据流。snappy压缩在hadoop中不是自带的,本文介绍在hadoop2.0中安装和配置snappy压缩,使hadoop2.0支持snappy压缩。
1 安装snappy库
可以从https://code.google.com/p/snappy/下载源码,通过编译源码安装
tar -zxvf snappy-1.1.1.tar.gz
cd snappy-1.1.1
./configure
make
sudo make install
也可以直接用yum来安装
sudo yum install snappy snappy-devel2 安装hadoop-snappy包
从https://github.com/electrum/hadoop-snappy下载hadoop-snappy包hadoop-snappy-master.zip
解压
unzip hadoop-snappy-master.zip 解压后是一个hadoop-snappy-master文件夹
编译
cd hadoop-snappy-master/
mvn package -Dsnappy.prefix=/usr/local
注意-Dsnappy.prefix是设置你的snappy安装的目录,默认是/usr/local
编译后把本地库文件和jar包(编译后可能已经打在一个压缩包里,需要先解压)拷贝到相应的目录
tar -zxvf hadoop-snappy-0.0.1-SNAPSHOT.tar.gz
cp-r hadoop-snappy-0.0.1-SNAPSHOT/lib/* $HADOOP_HOME/lib
Snappy 0.0.1-SNAPSHOT/目录包含本地库和hadoop-snappy-0.0.1-SNAPSHOT.jar包,都需要拷贝到相应的目录。
注:按照文档的说法,编译好的tar包里已经带有snappy的native库,因此第一步“1 安装snappy库”可以省略。
3 修改hadoop配置文件core-site.xml
io.compression.codecs
org.apache.hadoop.io.compress.GzipCodec,
org.apache.hadoop.io.compress.DefaultCodec,
org.apache.hadoop.io.compress.BZip2Codec,
org.apache.hadoop.io.compress.SnappyCodec
4 重启hadoop集群
这样,我们hadoop服务器上的hadoop snappy就安装成功了。
5 实战tips
在hadoop2.0中,把hadoop-snappy-0.0.1-SNAPSHOT.jar包拷贝到$HADOOP_HOME/share/hadoop/mapreduce/lib/或者$HADOOP_HOME/share/hadoop/mapreduce/目录下,不需要重启hadoop集群。
hadoop服务器的每台机器都需要安装和配置。
hadoop客户机snappy的安装和配置的方法与hadoop服务器一样。
参考资料
https://code.google.com/p/snappy/
https://github.com/electrum/hadoop-snappy
https://code.google.com/p/hadoop-snappy/
http://code.google.com/p/hadoop-gpl-compression
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com