Я прочитал это: Запуск Spark на Kubernetes .
Я хочу узнать больше информации о взаимодействии между Kubernetes Controller / Scheduler и средой выполнения Spark при запуске задания Spark на K8s.
Специально, если мы запустим приложение Spark по:
bin/spark-submit \
--master k8s://https://<k8s-apiserver-host>:<k8s-apiserver-port> \
--deploy-mode cluster \
--name spark-pi \
--class org.apache.spark.examples.SparkPi \
--conf spark.executor.instances=5 \
--..............
Мой вопрос таков: K8 могут быть не в состоянии выделить 5 исполнителей (или называемых контейнерами / модулями) сразу из-за недоступности ресурсов кластера в момент запуска приложения Spark. Какой путь использует приложение Spark? (1) Spark запускает задачи как можно скорее, когда выделяется хотя бы один исполнитель. (2) Spark не будет запускать какие-либо задачи, пока все 5 исполнителей не будут распределены.
Если вы знаете Hadoop YARN, было бы здорово, если бы вы также могли ответить на вопрос в сценарии запуска приложения Spark в Hadoop YARN (DynamicAllocation Disabled) и указать на разницу.