今天再看spark ui界面“spark Jobs"的”Event Timeline“选项时发现有个excutor被移remove了。虽然任务没有报错,但是还是不放心,万一产品上线再出问题就完了,于是就在网上找了一些资料,网上关于这个问题的帖子并不多,这一个可供参考:https://stackoverflow.com/questions/35649146/spark-looses-all-executors-one-minute-after-starting
问题的原因时:Spark提供了一种机制,可根据工作负载动态调整应用程序占用的资源。这意味着如果不再使用它们,您的应用程序可能会将资源返回给群集,并在有需求时再次请求它们。如果多个应用程序共享Spark群集中的资源,则此功能特别有用。
解决方法:将
Enable Dynamic Allocation
spark.dynamicAllocation.enabled配置项改为flase就行了,或者在submit的时候加上
--properties spark.dynamicAllocation.enabled=false