Потерянный исполнитель Spark - PullRequest
0 голосов
/ 10 октября 2018

У меня есть длительное выполнение задания на Spark , которое после нескольких часов работы не удавалось из-за следующих ошибок.

18/10/09 03:22:15 ERROR YarnScheduler: Lost executor 547 on ip: Unable to create executor due to Unable to register with external shuffle server due to : java.util.concurrent.TimeoutException: Timeout waiting for task.
18/10/09 03:22:15 WARN TaskSetManager: Lost task 750.0 in stage 19.0 (TID 1565492, ip, executor 547): ExecutorLostFailure (executor 547 exited caused by one of the running tasks) Reason: Unable to create executor due to Unable to register with external shuffle server due to : java.util.concurrent.TimeoutException: Timeout waiting for task.
18/10/09 03:22:15 WARN TaskSetManager: Lost task 752.0 in stage 19.0 (TID 1565494, ip, executor 547): ExecutorLostFailure (executor 547 exited caused by one of the running tasks) Reason: Unable to create executor due to Unable to register with external shuffle server due to : java.util.concurrent.TimeoutException: Timeout waiting for task.
18/10/09 03:22:15 WARN TaskSetManager: Lost task 751.0 in stage 19.0 (TID 1565493, ip, executor 547): ExecutorLostFailure (executor 547 exited caused by one of the running tasks) Reason: Unable to create executor due to Unable to register with external shuffle server due to : java.util.concurrent.TimeoutException: Timeout waiting for task.
18/10/09 03:22:15 WARN TaskSetManager: Lost task 754.0 in stage 19.0 (TID 1565496, ip, executor 547): ExecutorLostFailure (executor 547 exited caused by one of the running tasks) Reason: Unable to create executor due to Unable to register with external shuffle server due to : java.util.concurrent.TimeoutException: Timeout waiting for task.
18/10/09 03:22:15 WARN TaskSetManager: Lost task 753.0 in stage 19.0 (TID 1565495, ip, executor 547): ExecutorLostFailure (executor 547 exited caused by one of the running tasks) Reason: Unable to create executor due to Unable to register with external shuffle server due to : java.util.concurrent.TimeoutException: Timeout waiting for task.
18/10/09 03:22:15 ERROR YarnScheduler: Lost executor 572 on ip: Unable to create executor due to Unable to register with external shuffle server due to : java.util.concurrent.TimeoutException: Timeout waiting for task.
18/10/09 03:22:15 INFO DAGScheduler: Executor lost: 547 (epoch 45)
18/10/09 03:22:15 WARN TaskSetManager: Lost task 756.0 in stage 19.0 (TID 1565498, ip, executor 572): ExecutorLostFailure (executor 572 exited caused by one of the running tasks) Reason: Unable to create executor due to Unable to register with external shuffle server due to : java.util.concurrent.TimeoutException: Timeout waiting for task.
...

Странно то, что я даже не вижупотерянные исполнители в списке исполнителей для журнала.

Было бы здорово, если бы кто-то помог решить проблему.

1 Ответ

0 голосов
/ 05 мая 2019

Существует множество факторов, но это сводится к следующему:

Ваш главный узел не может ответить конкретному исполнителю и поэтому выдает ошибку

Невозможнозарегистрироваться на внешнем сервере случайного воспроизведения из-за

Почему ваш главный узел не может ответить, может быть по разным причинам.Зависит от того, как ваш код структурирован, от размера вашего экземпляра, если вы используете EMR.

Чтобы решить эту проблему

  1. Увеличьте ваш главный узел.Например, если вы используете i3.4xlarge, вместо этого используйте i3.8xlarge или даже i3.16xlarge.
  2. Увеличьте время ожидания сети с 2 минут до 5 минут.Это делается со следующей конфигурацией искры: spark.network.timeout = 300
  3. Увеличьте как память, так и количество ядер вашего главного узла.Чтобы увеличить количество ядер вашего главного узла, установите следующую конфигурацию.spark.yarn.am.cores = 3

Надеюсь, это решит проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...