Как увеличить размер контейнера AM в команде spark-submit? ОШИБКА: контейнер работает за пределами физической памяти - PullRequest
1 голос
/ 05 октября 2019

Я пытаюсь запустить приложение spark для некоторых данных в AWS. Я смог обработать целые данные с помощью 20 m4.large машин на AWS. Теперь я попробовал то же самое на компьютерах c4.8xlarge, но получил следующую ошибку:

    AM Container for appattempt_1570270970620_0001_000001 exited with exitCode: -104
    Failing this attempt.Diagnostics: Container [pid=12140,containerID=container_1570270970620_0001_01_000001] is running beyond physical memory limits. Current usage: 1.4 GB of 1.4 GB physical memory used; 3.5 GB of 6.9 GB virtual memory used. Killing container.
    {...}
    Container killed on request. Exit code is 143
    Container exited with a non-zero exit code 143

Команда, которую я использовал для запуска кластера, была:

    spark-submit --deploy-mode cluster --class xyzpackage.xyzclass --master yarn --jar s3://path/xyz_2.11-1.0.jar --arg s3://path_to_files/xy.csv --arg s3://output_path/newfile

при запуске приложения Iсм. эту информацию:

    19/10/05 10:42:04 INFO RMProxy: Connecting to ResourceManager at ip-172-31-30-66.us-east-2.compute.internal/172.31.30.66:8032
19/10/05 10:42:04 INFO Client: Requesting a new application from cluster with 20 NodeManagers
19/10/05 10:42:04 INFO Client: Verifying our application has not requested more than the maximum memory capability of the cluster (53248 MB per container)
19/10/05 10:42:04 **INFO Client: Will allocate AM container, with 1408 MB memory including 384 MB overhead**
19/10/05 10:42:04 INFO Client: Setting up container launch context for our AM
19/10/05 10:42:04 INFO Client: Setting up the launch environment for our AM container
19/10/05 10:42:04 INFO Client: Preparing resources for our AM container

Контейнеру AM выделено 1408 МБ ~ 1,4 ГБ памяти, из-за которой я получаю сообщение об ошибке. Как мне увеличить память контейнера AM? Я пробовал это, но не повезло:

spark-submit --deploy-mode cluster --class xyzpackage.xyzclass --master yarn  --conf spark.yarn.executor.memoryOverhead=8000 --driver-memory=91G --jar s3://path/xyz_2.11-1.0.jar --arg s3://path_to_files/* --arg s3://output_path/newfile

Как отредактировать эту команду, чтобы увеличить размер контейнера AM?

1 Ответ

0 голосов
/ 11 октября 2019

Я понял ошибку в моей команде. Команда конфигурации для изменения памяти исполнителя и служебной памяти:

spark-submit --deploy-mode cluster --class xyzpackage.xyzclass --master yarn  --conf spark.driver.memoryOverhead=2048 --conf spark.executor.memoryOverhead=2048--jar s3://path/xyz_2.11-1.0.jar --arg s3://path_to_files/* --arg s3://output_path/newfile

Но я полагаю, что изменение памяти исполнителя непосредственно с помощью spark.executor / driver.memory - лучший вариант, и пусть memoryOverhead будет составлять 10% от исполнителя / драйверапамять.

...