这是关于spark流作业的失败。我们从动觉中读取数据,并将解析后的数据推送到s3。该作业在emr集群上运行,该集群的配置类似于一个主示例(m4.large),核心示例为2个(m5.xlarge)。
在cloudwatch下的metrics中,每15分钟大约有800条消息被推送到kinesis。
当作业正在运行时,它确实运行了一段时间,如几个小时,然后由于以下错误而失败:-
信息执行者:完成了16302.0阶段的任务3.0。错误:由于驱动程序已解除关联,执行器正在自动退出!正在关闭。info diskblockmanager:关闭钩子调用info shutdownhookmanager:关闭钩子调用
[gc(分配失败)[parnew:67712k->5127k(76160k),0.0047790秒]67712k->5127k(245504k),0.0048458秒][次:user=0.01 sys=0.00,real=0.00秒]
使用的命令:-
nohup spark submit--部署模式'client'--num executors 4--jars/usr/lib/spark/external/lib/spark-streaming-kinesis-asl-assembly.jar--conf spark.executenv.pythonpath=“/home/hadoop”wrapper.py
我继续搜索spark:executor.coarsegrainedexecutorbackend:驱动程序已解除关联,但无法找出解决该问题的选项。
还添加了--conf spark.executor.memory=16g--conf spark.driver.memoryoverhead=8192等参数,但由于issue:- required 执行器内存(16384)、开销(1638 mb)和pyspark内存(0 mb)高于此群集的最大阈值(12288 mb)!请检查'yarn.scheduler.maximum allocation mb'和/或'yarn.nodemanager.resource.memory mb'的值。
有时,我也会在emr日志中看到错误
21/02/09 11:56:29警告执行者:与heartbeater org.apache.spark.rpc.rpctimeoutexception中的驱动程序通信时出现问题
有谁能建议一下吗。提前谢谢。
暂无答案!
目前还没有任何答案,快来回答吧!