SparkR-submit核心未分配

时间:2016-01-18 10:16:35

标签: apache-spark yarn sparkr

您好我在纱线模式下使用SparkR。

当我以这种方式提交申请时:

./spark-submit --master yarn-client --packages com.databricks:spark-
csv_2.10:1.0.3 --driver-memory 6g --num-executors 8 --executor-memory 6g 
--total-executor-cores 32 --executor-cores 8 /home/sentiment/Scrivania/test3.R

一个节点从AM开始(我认为是随机选择的)并且需要1gb内存和1个Vcore。 之后,所有节点都有7Gb内存,每个节点有1个Vcore。 (除了启动具有8gb和2核的AM的节点外)

为什么节点没有获得4个核心,因为配置/火花提交说明了什么?

火花默认

spark.master    spark://server1:7077
spark.serializer        org.apache.spark.serializer.KryoSerializer
spark.driver.memory 5g
spark.executor.memory   6g
spark.executor.cores    4
spark.akka.frameSize    1000
spark.yarn.am.cores 4
spark.kryoserializer.buffer.max 700m
spark.kryoserializer.buffer 100m

纱线的管理

<configuration>
   <property>
      <name>yarn.nodemanager.aux-services</name>
      <value>mapreduce_shuffle</value>
   </property>
   <property>
      <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
      <value>org.apache.hadoop.mapred.ShuffleHandler</value>
   </property>
   <property>
      <name>yarn.resourcemanager.resource-tracker.address</name>
      <value>server1:8025</value>
   </property>
   <property>
      <name>yarn.resourcemanager.scheduler.address</name>
      <value>server1:8035</value>
   </property>
   <property>
      <name>yarn.resourcemanager.address</name>
      <value>server1:8050</value>
   </property>
   <property>
      <name>yarn.resourcemanager.webapp.address</name>
      <value>server1:8088</value>
   </property>
   <property>
      <name>yarn.scheduler.minimum-allocation-vcores</name>
      <value>4</value>
   </property>
</configuration>

UPDATE1:

从旧帖子中读取我需要在capacity-scheduler.xml

将此属性的值从默认值更改为显性值
<property>
   <name>yarn.scheduler.capacity.resource-calculator</name>
<value>org.apache.hadoop.yarn.util.resource.DominantResourceCalculator</value>
</property>

在Spark-env

添加
SPARK_EXECUTOR_CORES=4 

没有任何改变。

UPDATE2: 我从spark官方网页上看到了这个,所以Yarn模式中每个执行者的1个核心是最大值?

  

spark.executor.cores每个执行程序使用的核心数。对于   仅限YARN和独立模式。在独立模式下,设置此项   参数允许应用程序在同一个上运行多个执行程序   工人,只要该工人有足够的核心。   否则,每个应用程序只会运行一个执行程序。

0 个答案:

没有答案