配置Hadoop中启用LZO压缩

关于的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

至此完成配置与测试

来自@若泽大数据
请使用浏览器的分享功能分享到微信等