Apache spark 火花数执行器

Apache spark 火花数执行器,apache-spark,yarn,hortonworks-data-platform,Apache Spark,Yarn,Hortonworks Data Platform,我在AWS上设置了一个10节点的HDP平台。下面是我的配置 2台服务器-名称节点和备用名称节点 7个数据节点,每个节点有40个vCPU和160 GB内存 我试图在提交spark应用程序时计算执行者的数量,在浏览了不同的博客之后,我对这个参数的实际含义感到困惑 看看下面的博客,numexecutors似乎是所有节点上执行器的总数 但是看看下面的博客,num执行器似乎是每个节点或服务器的 请任何人澄清并回顾以下内容:- 是每个节点的num executors值或所有数据节点上的执行器总数 我使用

我在AWS上设置了一个10节点的HDP平台。下面是我的配置 2台服务器-名称节点和备用名称节点 7个数据节点,每个节点有40个vCPU和160 GB内存

我试图在提交spark应用程序时计算执行者的数量,在浏览了不同的博客之后,我对这个参数的实际含义感到困惑

看看下面的博客,numexecutors似乎是所有节点上执行器的总数

但是看看下面的博客,num执行器似乎是每个节点或服务器的

请任何人澄清并回顾以下内容:-

  • 是每个节点的num executors值或所有数据节点上的执行器总数

  • 我使用下面的计算得出核心计数、执行器计数和每个执行器的内存

    芯数 请任何人澄清并回顾以下内容:-

  • 是每个节点的num executors值或所有数据节点上的执行器总数
  • 您首先需要了解执行器是在节点管理器上运行的(您可以将其视为Spark standalone中的工作者)。将为纱线上的Spark应用程序分配数量等于指定执行器数量的容器(包括vCPU、内存、网络、磁盘等)。现在,这些执行器容器将在多个节点管理器上运行,这取决于(HDP中的默认调度程序)

    总之,total number of executors是为应用程序运行指定的资源容器的数量

    参考博客以便更好地理解

  • 我使用下面的计算得出核心计数、执行器计数和每个执行器的内存

  • 核数容量调度器出现故障。据我所知,它只允许你根据记忆安排时间。首先需要将其更改为主要资源计算器调度类型。这将允许您要求更多的内存和内核组合。一旦你改变了这一点,你就可以用你的spark应用程序来请求杯子和内存了


    至于--num executors标志,您甚至可以将其保持在非常高的值1000。它仍然只分配每个节点上可能启动的容器数量。随着集群资源的增加,连接到应用程序的容器也会增加。每个节点可以启动的容器数量将受到分配给这些节点上的节点管理员的资源量的限制。

    由于
    num executors
    已在2.0+中删除。谢谢,我目前使用的是Spark 1.6.0,我想知道这些参数是如何使用和计算的Hanks Rakesh,因此,如果我理解正确,执行器是在应用程序级别定义的,而不是每个节点设置的。基于容量调度器,将跨数据节点配置执行器。请澄清
    --master yarn-client --driver-memory 10G --executor-memory 22G --num-executors 7 --executor-cores 5 
    
    OR
    
    --master yarn-client --driver-memory 10G --executor-memory 22G --num-executors 49 --executor-cores 5