Я читаю Огляд режиму кластерів, і досі не можу зрозуміти різні процеси в іскровому автономному кластері та паралелізм.
Чи працівник процес СВМ чи ні? Я побіг bin\start-slave.sh
та виявив, що це породило працівника, який насправді є СП.
Відповідно до вищезазначеного посилання, виконавець - це процес, запущений для програми на робочому вузлі, який виконує завдання. Виконавцем є також СП.
Це мої запитання:
Виконавці - за заявою. Тоді яка роль працівника? Чи координується це з виконавцем та повідомляє результат водієві? Або водій безпосередньо розмовляє з виконавцем? Якщо так, то яка мета працівника тоді?
Як контролювати кількість виконавців заявки?
Чи можна зробити так, щоб завдання виконувались паралельно всередині виконавця? Якщо так, то як налаштувати кількість потоків для виконавця?
Яке відношення між працівником, виконавцем та виконавчими сердечниками (--тотальні-виконавці-сердечники)?
Що означає мати більше працівників на вузол?
Оновлено
Візьмемо приклади, щоб краще зрозуміти.
Приклад 1: Окремий кластер із 5 робочими вузлами (кожен вузол має 8 ядер) Коли я запускаю програму із налаштуваннями за замовчуванням.
Приклад 2 Конфігурація кластера, як у прикладі 1, але я запускаю програму з такими налаштуваннями --executor-ядра 10 --total-executor-core 10.
Приклад 3 Конфігурація кластера та ж, що і в прикладі 1, але я запускаю програму з такими налаштуваннями --executor-ядра 10 --total-executor-core 50.
Приклад 4 Конфігурація кластера, що є прикладом 1, але я запускаю програму з такими налаштуваннями --executor-cores 50 --total-executor-core 50.
Приклад 5 Конфігурація цього ж кластера, як приклад 1, але я запускаю програму з такими налаштуваннями --executor-cores 50 --total-executor-core 10.
У кожному з цих прикладів, скільки виконавців? Скільки ниток на виконавця? Скільки ядер? Як визначається кількість виконавців за заявою? Чи завжди це однаково, як кількість працівників?