spark下使用submit提交任务后报jar包已存在错误

使用spark submit进行任务提交,离线跑数据,提交后的一段时间内可以application可以正常运行。过了一段时间后,就抛出以下错误:

org.apache.spark.SparkException: File ./myapplication.jar exists and does not match contents of http://10.28.139.44:33084/jars/myapplication.jar

然后application停止工作。


究其原因,是spark的work目录下存储的临时数据过大、新提交的application产生的临时数据无法写入导致的。而spark并没有主动去清理这些临时文件,最终导致目录下文件写满了,新提交的application就没有写入临时数据了。


解决方法:

1、临时解决方法:将spark/work目录下的文件手动删除,之后重新提交application就可以了。

2、修改spark配置文件:在spark-env.sh中加入如下内容 

SPARK_WORKER_OPTS=”-Dspark.worker.cleanup.enabled=true

这样,spark会自动清除已经停止运行的application的文件夹。如果是application一直在运行的话,就会持续向work目录写数据,这样work目录下的文件还是会越来越大 并最终无法写入。因此最好是以上两个方法同时使用,定期手工清理work目录下的文件。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值