目录
一、准备及配置
1.准备jar包
1.1下载hadoop-lzo-*相关jar包,比如:hadoop-lzo-0.4.20.jar
CSDN上有很多,无法下载的私信我。
或者下载lzo代码编辑jar包(不推荐)
2.上传jar包
上传准备好的jar包到hadoop的share/hadoop/common下
(比如:hadoop-3.1.3/share/hadoop/common)
3.同步配置
在common目录下同步,可以用scp也可以用rsync
scp:
#进入hadoopd的share/hadoop/common目录下执行:
scp -r hadoop-lzo-0.4.20.jar hadoop02:/training/hadoop-3.1.3/share/hadoop/common/
rsync:
jps、kafka、zookeeper群起脚本和rsync文件分发脚本(超详细)_一个人的牛牛的博客-CSDN博客
4.hadoop配置
编辑core-site.xml,添加以下内容:
vi 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>
<property>
<name>io.compression.codec.lzo.class</name>
<value>com.hadoop.compression.lzo.LzoCodec</value>
</property>
5.同步core-site.xml
与第3步原理相同,参考第3步
6.重新启动hadoop
stop-all.sh
start-all.sh
二、验证
1.编写一个txt
2.上传这个txt到hdfs
hdfs dfs -put word.txt /input
3.测试
进入hadoop的bin目录下执行:
hadoop jar /training/hadoop-3.1.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount -Dmapreduce.output.fileoutputformat.compress=true -Dmapreduce.output.fileoutputformat.compress.codec=com.hadoop.compression.lzo.LzopCodec /input /output
注:
#调用mapreduce的jar包的wordcount功能:/training/hadoop-3.1.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar
#compress压缩:-Dmapreduce.output.fileoutputformat.compress=true
#调用lzo:-Dmapreduce.output.fileoutputformat.compress.codec=com.hadoop.compression.lzo.LzopCodec
#word.txt的hdfs目录:/input
#结果集目录:/output
运行成功:
浏览器查看:
http://hadoop02:9870/explorer.html#/output
点击part-r-00000.lzo,点击Head the file
结论:
LZO配置成功!!!
注:本文查询网络资源写成!