Apache Spark 配置
Posted
技术标签:
【中文标题】Apache Spark 配置【英文标题】:Apache Spark Configuration 【发布时间】:2017-08-02 12:19:45 【问题描述】:我在运行 spark 配置时遇到内存问题,我已将设置更改为最大内存,但它仍然无法正常工作。请检查以下问题: 命令-
spark2-shell --conf "spark.default.parallelism=40" --executor.memory 8g --driver-memory 32g --conf "spark.ui.port=4404" --conf spark.driver.maxResultSize=2048m --conf spark.executor.heartbeatInterval=200s
错误 - 错误 cluster.YarnScheduler: Lost executor 9 on ampanacdaddbp01.au.amp.local:执行器心跳在 123643 后超时 ms WARN scheduler.TaskSetManager:在阶段 0.0 丢失任务 19.0(TID 19, ampanacdaddbp01.au.amp.local,执行者 9):ExecutorLostFailure (executor 9 e 运行任务) 原因:Executor心跳超时 123643 毫秒后 WARN spark.HeartbeatReceiver: 删除执行器 3 最近没有心跳:126935 毫秒超过超时 120000 毫秒错误 cluster.YarnScheduler:在 ampanacdddbp01.au.amp.local 上丢失了执行程序 3: 执行程序心跳在 126935 毫秒后超时 错误 scheduler.TaskSetManager:23个任务序列化结果的总大小 (1040.5 MB) 大于 spark.driver.maxResultSize (1024.0 MB) ERROR scheduler.TaskSetManager: 序列化结果的总大小为 24 任务 (1085.8 MB) 大于 spark.driver.maxResultSize (1024.0 兆)
请帮助我进行配置以及如何修复此“丢失的执行程序错误”。
【问题讨论】:
【参考方案1】:参数“spark.driver.maxResultSize”的默认值为1g,即1024MB。由于您的应用程序试图使用比分配给此属性的内存更多的内存,因此您会收到此错误。
尝试按如下方式更改值:
在启动 spark-shell 时传递命令行参数为“--conf spark.driver.maxResultSize=4g”
在“conf/spark-env.sh”中在系统级别设置此属性的值
在 sparkContext 级别设置属性如下 conf = SparkConf().set('spark.driver.maxResultSize', '4g') sc = SparkContext(conf=conf)
希望对你有帮助。
问候,
尼拉杰
【讨论】:
嘿,谢谢 neeraj。我错过了。但仍然面临丢失的执行程序问题:错误 cluster.YarnScheduler:ampanacdwdbp01.au.amp.local 上丢失的执行程序 2:执行程序心跳在 131047 毫秒后超时ERROR cluster.YarnScheduler: Lost executor 5 on ampanacdwdbp01.au.amp.local: Executor heartbeat timed out after 123861 ms以上是关于Apache Spark 配置的主要内容,如果未能解决你的问题,请参考以下文章
来自 Apache Spark 的外部配置单元中存在的查询表 [重复]
如何为严密的防火墙配置 Apache Spark 随机工作端口?
Apache Spark 1.6 Hadoop 2.6 Mac下单机安装配置
Apache Spark 1.6 Hadoop 2.6 Mac下单机安装配置