在测试scala写的任务的时候,将jar包上传的集群上,通过sparkSubmit的方式提交任务,出现Cannot load main class from JAR file的错误。
重新上传jar包之后还是报错,仔细看了一下执行的脚本,报错脚本如下:
#! /bin/bash
spark-submit \
--cluster xxxx-spark2.1 \
--conf spark.disable.stdout=false \
--conf spark.yarn.job.owners=xxx \
--master yarn-cluster \
--num-executors 10 \
--executor-memory 4g \
--executor-cores 2 \
--queue root.productionxxx\
--class com.xxx.MacClean_in /xxx-spark-1.0-SNAPSHOT-jar-with-dependencies.jar
仔细研究脚本终于发现了一处不一样的地方
在这里少了一个空格,加上之后再运行脚本可以成功执行。
花费了半天的时间解决错误,最终原因出在了一个空格上,以后要多注意代码格式的问题,在这里记录一下,避免之后犯同样的错误。