Могут ли два исполнителя / драйвера из разных приложений Spark работать на одном узле в режиме кластера?
Я прочитал статью в Medium, в которой утверждается, что количество исполнителей + 1 (для драйвера) должно быть кратно 3, чтобы эффективно использовать ядро на машине (в данном случае 16 ядер, то есть 5 на исполнитель и 1 будет зарезервирован для ОС и менеджера узлов)
Я не могу проверить это утверждение с помощью экспериментов на кластере по практическим причинам. Кто-нибудь пробовал это? или есть ссылка на код / документацию, в которой указано, что узлы Yarn будут / не использовать ресурсы кластера между другим приложением Spark?
1 ответ
Это большой вопрос, но вкратце - исходя из заголовка и ПРЯЖИ в тексте:
Вы получаете ресурсы, выделенные YARN, которые вы запросили через Spark(отправить).
У узла много исполнителей.
Вы не можете совместно использовать Executor в одно и то же время, но Executor может быть оставлен, если YARN Dynamic Resource Allocation действует после завершения этапа.
Поскольку у узла есть много исполнителей, многие приложения Spark могут одновременно запускать свои задачи на одном узле, рабочем месте, если им были предоставлены эти ресурсы.