Nancy,

As the message from Spark indicates, spark.shuffle.memoryFraction is no longer 
used.
It’s a unified heap space for both data caching and other things.
Also, the previous 11 GB was not sufficient, and you are making the executor 
memory even smaller, not sure how it will work.

From: nancy henry <nancyhenry6...@gmail.com>
Date: Tuesday, February 14, 2017 at 1:04 AM
To: Conversant <jthak...@conversantmedia.com>
Cc: Jon Gregg <coble...@gmail.com>, "user @spark" <user@spark.apache.org>
Subject: Re: Lost executor 4 Container killed by YARN for exceeding memory 
limits.

Hi,


How to set this parameters while launching spark shell

spark.shuffle.memoryFraction=0.5

and

spark.yarn.executor.memoryOverhead=1024

I tried giving like this but I am giving below error

spark-shell --master yarn --deploy-mode client --driver-memory 16G 
--num-executors 500 executor-cores 4 --executor-memory 7G --conf 
spark.shuffle.memoryFraction=0.5 --conf spark.yarn.executor.memoryOverhead=1024

Warning
17/02/13 22:42:02 WARN SparkConf: Detected deprecated memory fraction settings: 
[spark.shuffle.memoryFraction]. As of Spark 1.6, execution and storage memory 
management are unified. All memory fractions used in the old model are now 
deprecated and no longer read. If you wish to use the old memory management, 
you may explicitly enable `spark.memory.useLegacyMode` (not recommended).



On Mon, Feb 13, 2017 at 11:23 PM, Thakrar, Jayesh 
<jthak...@conversantmedia.com<mailto:jthak...@conversantmedia.com>> wrote:
Nancy,

As your log output indicated, your executor 11 GB memory limit.
While you might want to address the root cause/data volume as suggested by Jon, 
you can do an immediate test by changing your command as follows

spark-shell --master yarn --deploy-mode client --driver-memory 16G 
--num-executors 500 executor-cores 7 --executor-memory 14G

This essentially increases your executor memory from 11 GB to 14 GB.
Note that it will result in a potentially large footprint - from 500x11 to 
500x14 GB.
You may want to consult with your DevOps/Operations/Spark Admin team first.

From: Jon Gregg <coble...@gmail.com<mailto:coble...@gmail.com>>
Date: Monday, February 13, 2017 at 8:58 AM
To: nancy henry <nancyhenry6...@gmail.com<mailto:nancyhenry6...@gmail.com>>
Cc: "user @spark" <user@spark.apache.org<mailto:user@spark.apache.org>>
Subject: Re: Lost executor 4 Container killed by YARN for exceeding memory 
limits.

Setting Spark's memoryOverhead configuration variable is recommended in your 
logs, and has helped me with these issues in the past.  Search for 
"memoryOverhead" here:  http://spark.apache.org/docs/latest/running-on-yarn.html

That said, you're running on a huge cluster as it is.  If it's possible to 
filter your tables down before the join (keeping just the rows/columns you 
need), that may be a better solution.

Jon

On Mon, Feb 13, 2017 at 5:27 AM, nancy henry 
<nancyhenry6...@gmail.com<mailto:nancyhenry6...@gmail.com>> wrote:
Hi All,,

I am getting below error while I am trying to join 3 tables which are in ORC 
format in hive from 5 10gb tables through hive context in spark

Container killed by YARN for exceeding memory limits. 11.1 GB of 11 GB physical 
memory used. Consider boosting spark.yarn.executor.memoryOverhead.
17/02/13 02:21:19 WARN YarnSchedulerBackend$YarnSchedulerEndpoint: Container 
killed by YARN for exceeding memory limits. 11.1 GB of 11 GB physical memory 
used


I am using below memory parameters to launch shell .. what else i could 
increase from these parameters or do I need to change any configuration 
settings please let me know

spark-shell --master yarn --deploy-mode client --driver-memory 16G 
--num-executors 500 executor-cores 7 --executor-memory 10G



Reply via email to