Spark在StandAlone模式下提交任务,spark.rpc.message.maxSize太小而出错
Posted 一杯浮生
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark在StandAlone模式下提交任务,spark.rpc.message.maxSize太小而出错相关的知识,希望对你有一定的参考价值。
1.错误信息
org.apache.spark.SparkException: Job aborted due to stage failure:Serialized task 32:5 was 1728746673 bytes, which exceeds max allowed: spark.rpc.message.maxSize (134217728 bytes).Consider increasing spark.rpc.message.maxSize or using broadcast variables for large values.
at org.apache.spark.scheduler.DAGScheduler……
2.错误原因
Spark节点间传输传输过大,超过系统默认的128M,因此需要提高spark.rpc.message.maxSize的大小或者选择用broadcast广播数据。
然而在某些情况下,广播数据并不能契合我们的需求,这时我们可以在提交任务时对spark.rpc.message.maxSize进行配置,调高maxSize即可。
./bin/spark-submit \
3.具体解决方案
--class <main-class>
--master <master-url> \
--deploy-mode <deploy-mode> \
--confspark.rpc.message.maxSize=256
<application-jar> \
... # other options
[application-arguments]
红色区域即可根据需求更改spark.rpc.message.maxSize的大小,举例改为256M,实测有效。
以上是关于Spark在StandAlone模式下提交任务,spark.rpc.message.maxSize太小而出错的主要内容,如果未能解决你的问题,请参考以下文章
Spark篇---Spark中Standalone的两种提交模式
Java Web提交任务到Spark Standalone集群并监控