我完成了我的工作,阅读了文档https://spark.apache.org/docs/latest/configuration.html https://spark.apache.org/docs/latest/configuration.html
在 Spark-folder/conf/spark-env.sh 中:
-
SPARK_DRIVER_MEMORY, 主控内存(例如 1000M、2G)(默认:512 Mb)
-
SPARK_EXECUTOR_MEMORY, 每个 Worker 的内存(例如 1000M、2G)(默认:1G)
-
SPARK_WORKER_MEMORY,设置worker必须给执行者多少总内存(例如1000m,2g)
以上3个参数之间的关系是什么?
据我了解,DRIVER_MEMORY是主节点/进程可以请求的最大内存。但对于司机来说,多机情况如何,例如。 1个主机和2个工作机,工作机还应该有一些内存可供spark驱动程序使用吗?
EXECUTOR_MEMORY 和 WORKER_MEMORY 对我来说是相同的,只是名称不同,这也可以解释一下吗?
非常感谢。
首先,你应该知道 1Worker(你可以说 1 台机器或 1 个工作节点)可以启动多个执行者(或多个工作实例- 他们在文档中使用的术语)。
-
SPARK_WORKER_MEMORY
仅用于独立的部署模式
-
SPARK_EXECUTOR_MEMORY
用于YARN部署模式
在独立模式下,您设置SPARK_WORKER_MEMORY
可以使用的内存总量一台机器(本机上的所有执行程序)运行您的 Spark 应用程序。
相反,在 YARN 模式下,您设置SPARK_DRIVER_MEMORY
的记忆一名执行人
-
SPARK_DRIVER_MEMORY
用于 YARN 部署模式,指定运行应用程序并与集群管理器通信的驱动程序的内存。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)