Spark配置,SPARK_DRIVER_MEMORY、SPARK_EXECUTOR_MEMORY、SPARK_WORKER_MEMORY有什么区别?
Spark configuration, what is the difference of SPARK_DRIVER_MEMORY, SPARK_EXECUTOR_MEMORY, and SPARK_WORKER_MEMORY?
我完成了我的工作,请阅读 https://spark.apache.org/docs/latest/configuration.html
上的文档
in spark-folder/conf/spark-env.sh:
- SPARK_DRIVER_MEMORY,主控内存(例如1000M,2G)(默认:512 Mb)
- SPARK_EXECUTOR_MEMORY,每个工人的内存(例如1000M,2G)(默认:1G)
- SPARK_WORKER_MEMORY,设置 worker 必须给执行者多少总内存(例如 1000m,2g)
以上3个参数是什么关系?
据我了解,DRIVER_MEMORY 是主机 node/process 可以请求的最大内存。但是对于驱动程序,多机情况如何,例如。 1 master 机器和 2 worker 机器,worker 机器应该也有一些内存可以用于 spark driver?
EXECUTOR_MEMORY 和 WORKER_MEMORY 对我来说是一样的,只是不同的名字,这也能解释一下吗?
非常感谢。
首先,您应该知道 1 个 Worker(可以说是 1 台机器或 1 个工作节点)可以启动多个 Executors(或多个 Worker 实例 - 他们在文档中使用的术语)。
SPARK_WORKER_MEMORY
仅用于独立部署模式
SPARK_EXECUTOR_MEMORY
用于YARN部署模式
在独立模式下,您将 SPARK_WORKER_MEMORY
设置为 一台机器上可以使用的内存总量 (本机上的所有执行程序)到 运行 你的 spark 应用程序。
相反,在YARN模式下,你将SPARK_DRIVER_MEMORY
设置为一个Executor
的内存
SPARK_DRIVER_MEMORY
用于 YARN 部署模式,指定驱动程序的内存,运行 是您的应用程序并与集群管理器通信。
我完成了我的工作,请阅读 https://spark.apache.org/docs/latest/configuration.html
上的文档in spark-folder/conf/spark-env.sh:
- SPARK_DRIVER_MEMORY,主控内存(例如1000M,2G)(默认:512 Mb)
- SPARK_EXECUTOR_MEMORY,每个工人的内存(例如1000M,2G)(默认:1G)
- SPARK_WORKER_MEMORY,设置 worker 必须给执行者多少总内存(例如 1000m,2g)
以上3个参数是什么关系?
据我了解,DRIVER_MEMORY 是主机 node/process 可以请求的最大内存。但是对于驱动程序,多机情况如何,例如。 1 master 机器和 2 worker 机器,worker 机器应该也有一些内存可以用于 spark driver?
EXECUTOR_MEMORY 和 WORKER_MEMORY 对我来说是一样的,只是不同的名字,这也能解释一下吗?
非常感谢。
首先,您应该知道 1 个 Worker(可以说是 1 台机器或 1 个工作节点)可以启动多个 Executors(或多个 Worker 实例 - 他们在文档中使用的术语)。
SPARK_WORKER_MEMORY
仅用于独立部署模式SPARK_EXECUTOR_MEMORY
用于YARN部署模式
在独立模式下,您将 SPARK_WORKER_MEMORY
设置为 一台机器上可以使用的内存总量 (本机上的所有执行程序)到 运行 你的 spark 应用程序。
相反,在YARN模式下,你将SPARK_DRIVER_MEMORY
设置为一个Executor
SPARK_DRIVER_MEMORY
用于 YARN 部署模式,指定驱动程序的内存,运行 是您的应用程序并与集群管理器通信。