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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章