配置Hadoop中啟用LZO壓縮

loveheping發表於2018-03-17
關於的centos7中安裝LZO與配置,請參考:http://blog.itpub.net/31511218/viewspace-2151945/

配置Hadoop中啟用LZO壓縮,並完成測試。步驟如下:

一、配置hadoop的hadoop-evn.sh檔案,增加如下內容:

點選(此處)摺疊或開啟

  1. export LD_LIBRARY_PATH=/usr/local/hadoop/lzo/lib

二、配置core-site.xml檔案,增加如下內容:

點選(此處)摺疊或開啟

  1. <!--支援的壓縮列表-->
  2. <property>
  3.     <name>io.compression.codecs</name>
  4.     <value>
  5.       org.apache.hadoop.io.compress.GzipCodec,
  6.       org.apache.hadoop.io.compress.DefaultCodec,
  7.       org.apache.hadoop.io.compress.BZip2Codec,
  8.       org.apache.hadoop.io.compress.SnappyCodec,
  9.       com.hadoop.compression.lzo.LzoCodec,
  10.       com.hadoop.compression.lzo.LzopCodec
  11.     </value>
  12. </property>


  13. <!--支援LZO使用類-->
  14. <property>
  15.    <name>io.compression.codec.lzo.class</name>
  16.    <value>com.hadoop.compression.lzo.LzopCodec</value>
  17. </property>

二、配置mapred-site.xml檔案,增加如下內容:

點選(此處)摺疊或開啟

  1. <!--啟用map中間檔案壓縮-->
  2. <property>
  3.     <name>mapreduce.map.output.compress</name>
  4.     <value>true</value>
  5. </property>
  6. <!--啟用map中間壓縮類-->
  7. <property>
  8.    <name>mapred.map.output.compression.codec</name>
  9.    <value>com.hadoop.compression.lzo.LzopCodec</value>
  10. </property>
  11. <!--啟用mapreduce檔案壓縮-->
  12. <property>
  13.     <name>mapreduce.output.fileoutputformat.compress</name>
  14.     <value>true</value>
  15. </property>
  16. <!--啟用mapreduce壓縮類-->
  17. <property>
  18.    <name>mapreduce.output.fileoutputformat.compress.codec</name>
  19.    <value>com.hadoop.compression.lzo.LzopCodec</value>
  20. </property>
  21. <!--配置Jar包-->
  22. <property>
  23.     <name>mapred.child.env</name>
  24.     <value>LD_LIBRARY_PATH=/usr/local/hadoop/lzo/lib</value>
  25. </property>

三、使用hadoop自帶wordcount程式測試
1、測試生成lzo檔案

點選(此處)摺疊或開啟

  1. cd /app/hadoop-2.6.0-cdh5.7.0/share/hadoop/mapreduce
  2. hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar wordcount /input/test1.txt /output/wc2
測試結果:
[hadoop@spark220 mapreduce]$ hdfs dfs -ls  /output/wc2
Found 2 items
-rw-r--r--   1 hadoop supergroup          0 2018-03-17 00:21 /output/wc2/_SUCCESS
-rw-r--r--   1 hadoop supergroup        113 2018-03-17 00:21 /output/wc2/part-r-00000.lzo

2、生成index檔案:
點選(此處)摺疊或開啟
  1. cd /app/hadoop-2.6.0-cdh5.7.0/share/hadoop/common
  2. hadoop jar hadoop-lzo-0.4.19.jar com.hadoop.compression.lzo.LzoIndexer /output/wc2/part-r-00000.lzo
日誌:
18/03/17 00:23:05 INFO lzo.GPLNativeCodeLoader: Loaded native gpl libraryutput/wc2/part-r-00000.lzo 
18/03/17 00:23:05 INFO lzo.LzoCodec: Successfully loaded & initialized native-lzo library [hadoop-lzo rev 049362b7cf53ff5f739d6b1532457f2c6cd495e8]
18/03/17 00:23:06 INFO lzo.LzoIndexer: [INDEX] LZO Indexing file /output/wc2/part-r-00000.lzo, size 0.00 GB...
18/03/17 00:23:07 INFO Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available
18/03/17 00:23:07 INFO lzo.LzoIndexer: Completed LZO Indexing in 0.80 seconds (0.00 MB/s).  Index size is 0.01 KB.

測試結果:
[hadoop@spark220 common]$ hdfs dfs -ls  /output/wc2
Found 3 items
-rw-r--r--   1 hadoop supergroup          0 2018-03-17 00:21 /output/wc2/_SUCCESS
-rw-r--r--   1 hadoop supergroup        113 2018-03-17 00:21 /output/wc2/part-r-00000.lzo
-rw-r--r--   1 hadoop supergroup          8 2018-03-17 00:23 /output/wc2/part-r-00000.lzo.index

至此完成配置與測試

來自@若澤大資料

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31511218/viewspace-2151946/,如需轉載,請註明出處,否則將追究法律責任。

相關文章