yarn - Apache Spark: setting executor instances does not change the executors -
i have apache spark application running on yarn cluster (spark has 3 nodes on cluster) on cluster mode.
when application running spark-ui shows 2 executors (each running on different node) , driver running on third node. want application use more executors tried adding argument --num-executors spark-submit , set 6.
spark-submit --driver-memory 3g --num-executors 6 --class main.application --executor-memory 11g --master yarn-cluster myjar.jar <arg1> <arg2> <arg3> ...
however, number of executors remains 2.
on spark ui can see parameter spark.executor.instances 6, intended, , somehow there still 2 executors.
i tried setting parameter code
sparkconf.set("spark.executor.instances", "6")
again, can see parameter set 6, still there 2 executors.
does know why couldn't increase number of executors?
yarn.nodemanager.resource.memory-mb 12g in yarn-site.xml
increase yarn.nodemanager.resource.memory-mb
in yarn-site.xml
with 12g per node can launch driver(3g) , 2 executors(11g).
node1 - driver 3g (+7% overhead)
node2 - executor1 11g (+7% overhead)
node3 - executor2 11g (+7% overhead)
now requesting executor3 of 11g , no node has 11g memory available.
for 7% overhead refer spark.yarn.executor.memoryoverhead , spark.yarn.driver.memoryoverhead in https://spark.apache.org/docs/1.2.0/running-on-yarn.html
Comments
Post a Comment