首页 文章

Spark Standalone集群,每个执行程序的内存问题

提问于
浏览
0

嗨,我正在使用spark提交脚本启动我的Spark应用程序

spark-submit --master spark://Maatari-xxxxxxx.local:7077 --class EstimatorApp /Users/sul.maatari/IdeaProjects/Workshit/target/scala-2.11/Workshit-assembly-1.0.jar  --d
eploy-mode cluster --executor-memory 15G num-executors 2

我在两个节点(我的2台笔记本电脑)上部署了一个spark独立集群 . 群集运行正常 . 默认情况下,它为工作程序设置15G,为执行程序设置8个核心 . 现在我遇到了以下奇怪的行为 . 虽然我明确设置了内存,但这也可以在sparconf UI的environmement变量中看到,在Cluster UI中它表示我的应用程序限制为执行程序内存的1024MB . 这让我想到了默认的1G参数 . 我想知道为什么 .

Cluster UI

Environment in the SparkConf UI

我的应用程序确实因内存问题而失败 . 我知道我需要为该应用程序提供大量内存 .

最后一点困惑是Driver程序 . 为什么假设我处于集群模式,火花提交不会立即返回?我认为,鉴于驱动程序在集群上执行,客户端即提交应用程序应立即返回 . 这进一步告诉我,我的conf以及如何执行事情是不对的 .

任何人都可以帮助诊断吗?

1 回答

  • 1

    两种可能性:

    • 假设您的命令行错误指定了 --num-executors :它可能也是另一个设置上的Spark "gives up" .

    • 你的笔记本电脑有多少内存?我们大多数人都使用mac ..然后根据我的经验,你将无法以超过8GB的速度运行它 .

相关问题