Spark报错:Caused by: java.lang.IllegalArgumentException: Compression codec com.hadoop.compression.lzo

问题

在yarn集群上提交一个spark-submit的任务,最后抛出一个异常
在这里插入图片描述

解决

原因:
因为在之前的项目中,在hadoop中的core-site.xml 和mapred-site.xml文件配置了lzo格式的压缩,这就导致上传到hdfs 的文件自动被压缩为lzo了。所以当使用提交spark-submit任务时,需要访问HDFS上的文件,而spark自身没有lzo的jar包所以无法找到

方法一:
软链接到spark下的jars目录,注意自己的hadoop-lzo-0.4.20.jar的目录!

ln -s  /opt/module/hadoop-3.1.3/share/hadoop/common/hadoop-lzo-0.4.20.jar /opt/module/spark-yarn/jars/hadoop-lzo-0.4.20.jar

方法二:
配置spark-default.conf文件,注意自己的hadoop-lzo-0.4.20.jar的目录!
在最下面添加一行

spark.jars=/opt/module/hadoop-3.1.3/share/hadoop/common/hadoop-lzo-0.4.20.jar
posted @ 2021-06-07 20:09  孙晨c  阅读(260)  评论(0编辑  收藏  举报