我使用mesos集群管理器以细粒度模式启动spark。
spark-shell.sh --conf 'spark.mesos.coarse=false' --executor-memory 20g --driver-memory 5g
我可以在mesosui上看到,它没有使用任何资源,这很好。然后我执行一些操作,在操作期间执行spark使用所有集群资源,这也很好。
但当动作完成后,spark仍然会永远保留一些cpu和内存。
如果spark空闲并且不执行任何操作,为什么它仍然需要一些资源?如果spark空闲,如何释放所有资源?
1条答案
按热度按时间oaxa6hgo1#
尝试配置,例如。
spark.mesos.mesosExecutor.cores = 0.5
它限制了每个执行器使用的核心数(在fine-grained
模式)。你可以考虑降低
executor-memory
,取决于你的工作表现。