美文网首页
DriverDisassociated|Lostexecutor

DriverDisassociated|Lostexecutor

作者: 牛肉圆粉不加葱 | 来源:发表于2015-04-24 13:27 被阅读2044次

昨天在Spark Sql上执行几条涉及数据量几百G的Sql语句时频繁失败,日志中出现大量以下错误:

ERROR executor.CoarseGrainedExecutorBackend: Driver Disassociated [akka.tcp://sparkExecutor@ip-10-0-20-22:62262] -> [akka.tcp://sparkDriver@ip-10-0-20-30:14214] disassociated! Shutting down.

ERROR cluster.YarnClusterScheduler: Lost executor 124 on ip-10-0-20-22: remote Akka client disassociated

随后,ssh到10.0.20.22上看yarn的NodeManager的日志,发现下面这条日志:

INFO org.apache.hadoop.yarn.server.nodemanager.NMAuditLogger: USER=root OPERATION=Container Finished - Killed   TARGET=ContainerImpl    RESULT=SUCCESS  APPID=application_1428571334989_100355  CONTAINERID=container_1428571334989_100355_01_000281

从这条日志可以看出,该Container被yarn kill了(RESULT=SUCCESS不准确)

这个错误有以下特点:

  1. 只有数据量几百G的sql查询才会失败
  2. application的非常多的container被kill

结合以上特点,推断可能是oom(out of memory)了,但日志中又没有看到oom的报错且container是被yarn kill了,进一步推断可能是executor使用的内存超过了配置的值(通过spark.executor.memory设置),并且超出使用的内存量超过了spark.yarn.driver.memoryOverhead的值。

尝试将spark.yarn.driver.memoryOverhead调大至10G,执行原来失败的语句,成功,问题解决(如果是executor内存超了,相应调大spark.yarn.excutor.memoryOverhead的值)。


如果你遇到Driver Disassociated的问题,还有一个原因可能是executor连不上Driver,可能是网络问题或者host配置问题,这时你需要确认报错的container是否能连上Driver


欢迎关注我的微信公众号:FunnyBigData

FunnyBigData

相关文章

  • DriverDisassociated|Lostexecutor

    昨天在Spark Sql上执行几条涉及数据量几百G的Sql语句时频繁失败,日志中出现大量以下错误: 随后,ssh到...

网友评论

      本文标题:DriverDisassociated|Lostexecutor

      本文链接:https://www.haomeiwen.com/subject/nndpfttx.html