hadoop2.2支持snappy压缩安装及配置
由于我們的生產環境沒有root用戶使用權限,且為了不在所有主機上安裝一些依賴插件,因此我啟用了使用hadoop native本地庫,即在core-site.xml中配置了:
<property>
 ????????<name>hadoop.native.lib</name>
 ????????<value>true</value>
 </property>
就因為這個配置,導致按照網上的方式不成功,靈機一動想到這點,才將問題解決,下面詳細介紹,基于google snappy官方介紹https://code.google.com/p/hadoop-snappy/,我稍微做下改動,這個改動也是因為啟用?native本地庫才做的改動。
1. Requirements: gcc c++, autoconf, automake, libtool, Java 6, JAVA_HOME set, Maven 3
yum install??gcc c++, autoconf, automake, libtool
 jdk,我使用的是java7,配置環境變量就可
 maven,下載tar.gz包解壓后設置環境變量可直接使用
 2. Build/install Snappy (http://code.google.com/p/snappy/)
解壓后configure && make && make install
3. Build Hadoop Snappy
$ mvn package?
 4.拷貝編譯好的文件到hadoop環境
$cp -r /opt/hadoop-snappy-master/target/hadoop-snappy-0.0.1-SNAPSHOT-tar/hadoop-snappy-0.0.1-SNAPSHOT/lib/hadoop-snappy-0.0.1-SNAPSHOT.jar $HADOOP_HOME/lib/
 $cp -r /opt/hadoop-snappy-master/target/hadoop-snappy-0.0.1-SNAPSHOT-tar/hadoop-snappy-0.0.1-SNAPSHOT/lib/native/Linux-i386-32/* $HADOOP_HOME/lib/native/
 5.修改配置文件core-site.xml
<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,
 ??????????org.apache.hadoop.io.compress.SnappyCodec
 ????????</value>
 </property>
6.修改配置文件mapred-site.xml(我只是增加了下面的一項,還有一項可配置mapreduce.output.fileoutputformat.compress)
??<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>
7.重啟yarn和hdfs
8.實驗
hadoop jar ./hadoop-mapreduce-examples-2.2.0.jar wordcount hdfs://node1:8020/input hdfs://node1:8020/output2(wordcount程序,都知道怎么用吧?)
如果不報錯,證明就安裝成功了。
總結
以上是生活随笔為你收集整理的hadoop2.2支持snappy压缩安装及配置的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Native snappy librar
- 下一篇: 丢掉xml使用JavaConfig配置S
