什么是在Spark中计算--executor-memory --num-executors --executor-cores的最佳方法

时间:2018-06-26 17:57:06

标签: apache-spark yarn spark-submit

我有一个集群,其中包含1个主节点和5个从属节点(节点),每个集群32个核心和64 GB内存。

在纱线的电火花提交中是否有任何模式可以计算以下参数

-executor内存--num-executors --executor-cores

1 个答案:

答案 0 :(得分:-1)

如果我们有以下硬件,则计算火花

  • 6个节点
  • 16个代码
  • 64 GB的Ram

计算

  • 每个执行者5个核心
  • -要获得最大的HDFS吞吐量
  • 集群总共有6 * 15 = 90个核心
  • 取出Hadoop / Yarn守护程序内核后
  • 90核心/ 5核心/执行器(19/5 = 18-1)
  • = 18个执行者
  • 每个节点有3个执行者
  • 63 GB / 3 = 21 GB,21 *(1 -0,07)
  • 〜19 GB
  • 1个执行者为AM => 17个执行者

答案

  • 总共17位执行者
  • 19 GB内存/ executor
  • 5个核心/ executor

  • 执行者数(--num -executors)
  • 每个执行者的价格(--executorr-cores)
  • 每个执行者的内存(--executor-memory)

enter image description here


执行者内存控制堆大小:

  • 用于堆外内存的节点的某些开销(由spark.yarn.executor.memory.overhead控制)默认为最大(384 MB,.07 * Spark.executer.memory)

火花内存管理