配置Hadoop中启用LZO压缩,并完成测试。步骤如下:
一、配置hadoop的hadoop-evn.sh文件,增加如下内容:
点击(此处)折叠或打开
- export LD_LIBRARY_PATH=/usr/local/hadoop/lzo/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,
-
org.apache.hadoop.io.compress.SnappyCodec,
-
com.hadoop.compression.lzo.LzoCodec,
-
com.hadoop.compression.lzo.LzopCodec
-
</value>
-
</property>
-
-
-
<!--支持LZO使用类-->
-
<property>
-
<name>io.compression.codec.lzo.class</name>
-
<value>com.hadoop.compression.lzo.LzopCodec</value>
- </property>
二、配置mapred-site.xml文件,增加如下内容:
点击(此处)折叠或打开
-
<!--启用map中间文件压缩-->
-
<property>
-
<name>mapreduce.map.output.compress</name>
-
<value>true</value>
-
</property>
-
<!--启用map中间压缩类-->
-
<property>
-
<name>mapred.map.output.compression.codec</name>
-
<value>com.hadoop.compression.lzo.LzopCodec</value>
-
</property>
-
<!--启用mapreduce文件压缩-->
-
<property>
-
<name>mapreduce.output.fileoutputformat.compress</name>
-
<value>true</value>
-
</property>
-
<!--启用mapreduce压缩类-->
-
<property>
-
<name>mapreduce.output.fileoutputformat.compress.codec</name>
-
<value>com.hadoop.compression.lzo.LzopCodec</value>
-
</property>
-
<!--配置Jar包-->
-
<property>
-
<name>mapred.child.env</name>
-
<value>LD_LIBRARY_PATH=/usr/local/hadoop/lzo/lib</value>
- </property>
三、使用hadoop自带wordcount程序测试
1、测试生成lzo文件
点击(此处)折叠或打开
- cd /app/hadoop-2.6.0-cdh5.7.0/share/hadoop/mapreduce
- 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文件:
点击(此处)折叠或打开
- cd /app/hadoop-2.6.0-cdh5.7.0/share/hadoop/common
- 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
至此完成配置与测试
来自@若泽大数据