Могут ли два исполнителя / драйвера из разных приложений Spark работать на одном узле в режиме кластера?

Я прочитал статью в Medium, в которой утверждается, что количество исполнителей + 1 (для драйвера) должно быть кратно 3, чтобы эффективно использовать ядро ​​на машине (в данном случае 16 ядер, то есть 5 на исполнитель и 1 будет зарезервирован для ОС и менеджера узлов)

Я не могу проверить это утверждение с помощью экспериментов на кластере по практическим причинам. Кто-нибудь пробовал это? или есть ссылка на код / ​​документацию, в которой указано, что узлы Yarn будут / не использовать ресурсы кластера между другим приложением Spark?

1 ответ

Это большой вопрос, но вкратце - исходя из заголовка и ПРЯЖИ в тексте:

  • Вы получаете ресурсы, выделенные YARN, которые вы запросили через Spark(отправить).

  • У узла много исполнителей.

  • Вы не можете совместно использовать Executor в одно и то же время, но Executor может быть оставлен, если YARN Dynamic Resource Allocation действует после завершения этапа.

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

Другие вопросы по тегам