hadoop2.7.1_Snappy64位編譯完成後的軟件與編譯方法

hadoop2.7.1_Snappy64位編譯完成後的軟件與編譯方法

 

編譯完成軟件下載地址:

http://yunpan.cn/cL3jJa7XEMtHy  訪問密碼66de

第一步:編譯前環境要求

第二步:snappy編譯

第三步:hadoop-snappy編譯

第四步:64Hadoop支持snappy編譯

第五步:相關配置

第六步:測試

1、             我的是CentOS6.7 64位系統:

yum  install gcc-c++ autoconfautomake libtool

安裝JDKMaven(網上教程很多,但建議用3.2的版本,JDK1.7.0-1.7.45,否則在編譯Hadoop時可能出現問題)

 

2、             snappy編譯

  wget http://snappy.googlecode.com/files/snappy-1.1.1.tar.gz

然後解壓後,執行三步驟:

   ./configure

   make

   sudo make install

   默認安裝路徑:/usr/local/lib下面

    

檢查安裝是否成功

         ls /usr/local/lib/libsn*

 

3、             hadoop-snappy編譯

3.1下載hadoop-snappy源碼

 svn checkout http://hadoop-snappy.googlecode.com/svn/trunk/hadoop-snappy

3.2.安裝hadoop-snappy

 cd hadoop-snappy

  mvn package

 

4、             64Hadoop支持snappy編譯(32位不用此步驟)

4.1  yum install cmakezlib1g-dev pkg-config libssl-dev

4.2 安裝protobuf-2.5.0(下載protobuf

然後解壓後,執行三步驟:

   ./configure

   make && make install

4.3 下載並解壓Hadoop2.7.1-src

         進入源碼目錄,執行如下命令:

mvn package -Pdist,native-DskipTests -Dtar -rf :hadoop-common -Drequire.snappy -X

(過程很漫長,如果Maven依賴包以前沒有下載過,按照中國下載的速度,一般要用5個小時以上)

 

5、             相關配置

解壓hadoop-snappy-0.0.1-SNAPSHOT.tar.gz文件,會生成hadoop-snappy-0.0.1-SNAPSHOT目錄,拷貝這個目錄下相關文件到$HADOOP_HOME/lib/native/Linux-amd64-64

cp -r /hadoop-snappy-0.0.1-SNAPSHOT/lib/native/Linux-amd64-64/*$HADOOP_HOME/lib/native/Linux-amd64-64(這種測試沒有通過)

cp-r /hadoop-snappy-0.0.1-SNAPSHOT/lib/native/Linux-amd64-64/*$HADOOP_HOME/lib/native(這個測試沒問題)

 

target目錄下的hadoop-snappy-0.0.1-SNAPSHOT.jar拷貝到$HADOOP_HOME/lib/目錄下。

 

修改hadoop-env.sh,增加內容如下:

exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HADOOP_HOME/lib/native/Linux-amd64-64/:/usr/local/lib/

修改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,

  com.hadoop.compression.lzo.LzoCodec,

  com.hadoop.compression.lzo.LzopCodec,

  org.apache.hadoop.io.compress.SnappyCodec

  </value>

<property>

           <name>io.compression.codec.snappy.class</name>

           <value>org.apache.hadoop.io.compress.SnappyCodec</value>

  </property>

</property>

修改map-site.xml文件

以下是隻有Map輸出壓縮

<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>

reduce輸出壓縮

<property>

      <name>mapreduce.output.fileoutputformat.compress.codec</name>

      <value>org.apache.hadoop.io.compress.SnappyCodec</value>

     </property>    

 

6、             重啓Hadoop系統,測試程序如下:

進入目錄:$HADOOP_HOME /share/hadoop/mapreduce

hadoop jar hadoop-mapreduce-examples-2.7.1.jar wordcount /tmp/t1.txt/output

測試結果:出現如下結果說明配置成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章