Свойство Spark, которое завершает работу приложения spark после определенного количества неудачных исполнителей

#apache-spark #kubernetes

#apache-spark #kubernetes

Вопрос:

У меня есть приложение spark, работающее с драйвером и двумя исполнителями. Эти исполнители терпят неудачу, и новые создаются бесконечно. Я ищу способ сообщить оператору spark (может быть, через свойство spark?) Прекратить попытки и навсегда завершить работу приложения spark после потери нескольких исполнителей.

Сначала я подумал "spark.task.maxFailures": "2" , что это поможет мне, но на самом деле это не приводит к сбою приложения.

Сначала мы использовали версию Spark 2.4.4 , и приложение spark не использовалось для продолжения попыток бесконечно создавать новых исполнителей, подобных этому. Мы обновили Spark до версии 3.0.1 и только теперь видим это поведение.

Обновление — добавление журналов сбоев и воссоздания модулей. kubectl получает журналы

 NAME                                           READY   STATUS      RESTARTS   AGE
bats-4ec00395a68a46939381e78e5545198b-driver   0/1     Completed   0          7h51m
bats-4ec00395a68a46939381e78e5545198b-driver   0/1     Terminating   0          8h
bats-4ec00395a68a46939381e78e5545198b-driver   0/1     Terminating   0          8h
bats-4ec00395a68a46939381e78e5545198b-driver   0/1     Pending       0          0s
bats-4ec00395a68a46939381e78e5545198b-driver   0/1     Pending       0          0s
bats-4ec00395a68a46939381e78e5545198b-driver   0/1     ContainerCreating   0          0s
bats-4ec00395a68a46939381e78e5545198b-driver   1/1     Running             0          4s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-1   0/1     Pending             0          1s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-1   0/1     Pending             0          1s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-2   0/1     Pending             0          0s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-2   0/1     Pending             0          0s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-1   0/1     ContainerCreating   0          1s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-2   0/1     ContainerCreating   0          0s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-2   1/1     Running             0          3s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-1   1/1     Running             0          5s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-2   0/1     OOMKilled           0          5m
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-2   0/1     Terminating         0          5m30s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-2   0/1     Terminating         0          5m30s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-3   0/1     Pending             0          0s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-3   0/1     Pending             0          0s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-3   0/1     ContainerCreating   0          0s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-3   1/1     Running             0          3s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-1   0/1     OOMKilled           0          9m50s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-1   0/1     Terminating         0          10m
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-1   0/1     Terminating         0          10m
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-4   0/1     Pending             0          0s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-4   0/1     Pending             0          0s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-4   0/1     ContainerCreating   0          0s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-4   1/1     Running             0          4s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-3   0/1     OOMKilled           0          5m13s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-3   0/1     Terminating         0          5m30s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-3   0/1     Terminating         0          5m30s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-5   0/1     Pending             0          0s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-5   0/1     Pending             0          0s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-5   0/1     ContainerCreating   0          0s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-5   1/1     Running             0          4s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-4   0/1     OOMKilled           0          4m37s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-4   0/1     Terminating         0          5m
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-4   0/1     Terminating         0          5m
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-6   0/1     Pending             0          0s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-6   0/1     Pending             0          0s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-6   0/1     ContainerCreating   0          0s
4ec00395a68a46939381e78e5545198b-bba8d875fb41e88d-exec-6   1/1     Running             0          4s
 

Процесс будет продолжаться до тех пор, пока не будет воссоздано около 30-40 исполнителей, а затем драйвер перезапускается, и тот же процесс разворачивается снова. Я установил для приложения spark

 restartPolicy:
 type:Never
 

Комментарии:

1. Просматривая документы, есть различия между версиями 2.4 и 3.0. Хотя я недостаточно знаком с spark — не могли бы вы предоставить дополнительную информацию о сбое ресурсов kubernetes (в чем причина, пожалуйста, используйте журналы и опишите сбойные модули)

2. Итак, если ожидается, что у вас будет так много исполнителей, вам следует проверить конфигурации исполнителей — похоже, ваши ограничения ресурсов слишком высоки из-за OOMKilled Pods . Пожалуйста, взгляните на это Kubernetes ООМ убить из-за превышения лимита