问题
在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