превышение пределов физической памяти

#apache-spark

#apache-spark

Вопрос:

Ниже приведена моя отправка spark

 spark2-submit --class my.class 
--master yarn 
--deploy-mode cluster 
--queue queue-name
--executor-memory 10G 
--driver-memory 20G 
--num-executors 60 
--conf spark.executor.memoryOverhead=4G 
--conf spark.yarn.maxAppAttempts=1 
--conf spark.dynamicAllocation.maxExecutors=480 
$HOME/myjar.jar param1 param2 param3
  

Ошибка

 Caused by: org.apache.spark.SparkException: Job aborted due to stage failure: Task 50 in stage 27.0 failed 4 times, 
most recent failure: Lost task 50.4 in stage 27.0 (TID 20899, cdts13hdfc07p.rxcorp.com, executor 962): 
ExecutorLostFailure (executor 962 exited caused by one of the running tasks) Reason: Container killed by YARN for exceeding memory limits. 
15.7 GB of 14 GB physical memory used. Consider boosting spark.yarn.executor.memoryOverhead.
  

Мои вопросы

  1. Я назначаю 10 ГБ памяти исполнителя, откуда берется 14 ГБ?
  2. Я уже упоминал 4G, который составляет 40% памяти исполнителя, но все же рекомендуется увеличить служебную память

Ответ №1:

Вы назначили 10 ГБ каждому исполнителю spark, вам нужно будет убедиться, что на компьютере / узле, на котором запущены исполнители, достаточно ресурсов для других его нужд