首页 文章

为不同的工作节点设置不同的执行程序内存限制

提问于
浏览
3

我在独立部署模式下使用spark 1.5.2并使用脚本启动 . 执行程序内存通过conf / spark-defaults.conf中的'spark.executor.memory'设置 . 这为所有工作节点设置了相同的内存限制 . 我想这样做可以为不同的节点设置不同的限制 . 我怎样才能做到这一点?

(Spark 1.5.2,ubuntu 14.04)

谢谢,

1 回答

  • 1

    我不相信有任何方法可以拥有异构大小的执行者 . 您可以限制工作节点的大小,但这实质上限制了工作人员可以在该框上分配的内存总量 .

    当您运行应用程序时,您只能在应用程序级别指定spark.executor.memory,每个执行程序为每个工作程序请求大量内存 .

    如果您处于非均匀尺寸框的情况下,您可以将SPARK_WORKER_MEMORY设置为较小的数量,然后在较大的框上设置SPARK_WORKER_INSTANCES = 2,在较小的框上设置SPARK_WORKER_INSTANCES = 1 . 在这个例子中,我们假设您的较大的盒子比较小的盒子大两倍 . 然后,你将最终使用较大盒子上的所有内存和较小盒子上的所有内存,通过在较大盒子上使用两倍的 Actuator .

相关问题