【linux mpd 源码】【特斯拉提供源码】【模板源码定制】spark源码报错

来源:carlife通道源码

1.Q: Consider increasing spark.rpc.message.maxSize or using broadcast variables for large values.
2.执行 spark 报错信息:Exception in thread "main" org.apache.spark.sql.AnalysisException
3.Spark异常处理——Shuffle FetchFailedException

spark源码报错

Q: Consider increasing spark.rpc.message.maxSize or using broadcast variables for large values.

       é—®é¢˜ï¼š 在yarn集群上训练Word2Vec模型数据保存在hadfs上的报错:

        ERROR datasources.FileFormatWriter: Aborting job null.org.apache.spark.SparkException:

        Job aborted due to stage failure: Serialized task :0 was bytes,码报 which exceeds max allowed:

        spark.rpc.message.maxSize ( bytes). Consider increasing spark.rpc.message.maxSize or using broadcast variables for large values.

        在小数据量上没有出错, slone模式下也没问题,参考问题:

       /questions//spark-word2vecmodel-exceeds-max-rpc-size-for-saving

        spark rpc传输序列化数据应该是有大小的限制,此错误消息意味着将一些较大的对象从driver端发送到executors。

        尝试增大partition数目没有奏效 考虑修改spark.rpc.message.maxSize的值

        spark.rpc.message.maxSize 默认值是, 也就是K, bytes

        修改spark.rpc.message.maxSize 值为, 并尽量增大partiton数

执行 spark 报错信息:Exception in thread "main" org.apache.spark.sql.AnalysisException

       确保Hadoop已正确添加到系统环境(例如HADOOP_HOME)。

       遇到问题:`java.lang.RuntimeException: java.lang.RuntimeException: Error while running command to get file permissions : ExitCodeException exitCode=-`。码报

       问题原因:在Hadoop的码报linux mpd 源码bin目录下缺少两个关键文件。

       解决步骤:访问下载链接获取缺失文件。码报完成下载后,码报特斯拉提供源码重启并重新执行操作。码报模板源码定制若仍出现错误,码报可能是码报缺少`MSVCR.dll`运行库。下载并安装此运行库以解决问题。码报

       执行操作后,码报问题应得到解决。码报确保所有步骤正确执行以避免遇到更多错误。码报

码报zblog源码查询

Spark异常处理——Shuffle FetchFailedException

码报zblog源码查询        在大规模数据处理中,这个错误比较常见。一般发生在有大量shuffle操作的时候,task不断的failed,然后又重执行,一直循环下去,直到application失败。

码报zblog源码查询

        SparkSQL shuffle报错样例

码报zblog源码查询

        RDD shuffle报错样例

码报zblog源码查询

        shuffle分为 shuffle write 和 shuffle read 两部分:

码报zblog源码查询

        解决办法主要从 shuffle的数据量和 处理shuffle数据的分区数两个角度入手。

码报zblog源码查询

        通过 spark.sql.shuffle.partitions 控制分区数,默认为,根据shuffle的量以及计算的复杂度提高这个值。

码报zblog源码查询

        通过 spark.default.parallelism 控制 shuffle read 与 reduce 处理的分区数,默认为运行任务的core的总数(mesos细粒度模式为8个,local模式为本地的core总数),官方建议设置成运行任务的core的2-3倍。

码报zblog源码查询

        通过 spark.executor.memory 适当提高executor的内存

码报zblog源码查询

        通过 spark.executor.cores 增加每个executor的cpu,这样不会减少task并行度

码报zblog源码查询

码报zblog源码查询

文章所属分类:娱乐频道,点击进入>>