#apache-spark
#apache-искра
Вопрос:
Я настроил кластер spark в docker с 1 мастером и 7 рабочими на моем рабочем столе под управлением Linux.
Когда я отправляю ему задания, даже если статус приложения ЗАПУЩЕН, драйвер жалуется на «Начальное задание не приняло никаких ресурсов; проверьте пользовательский интерфейс кластера, чтобы убедиться, что работники зарегистрированы и имеют достаточные ресурсы», и он не обрабатывает шаги.
Пользовательский интерфейс показывает, что 1 из рабочих использует 2/2 ядра и 1024 МБ/1024 МБ памяти, приложение отображается как ЗАПУЩЕННОЕ (но никогда не заканчивается, а шаги равны 0/2). Остальные рабочие бездельничают.
Я попытался остановить firewalld и перезапустить docker, чтобы посмотреть, не было ли это причиной проблемы, но это было не так.
Та же конфигурация под WSL на моей локальной машине отлично работает (всегда 2 ядра, 1 г оперативной памяти на каждого работника, одни и те же задания).
Не могли бы вы, пожалуйста, помочь мне?
Спасибо 🙂
РЕДАКТИРОВАТЬ: тот же самый кластер, если его опросить локально (т. Е. драйвер, указывающий на spark://127.0.0.1:7077), работает безупречно.
РЕДАКТИРОВАТЬ 2: другая информация: читая журналы рабочих, я выяснил, в чем может быть проблема: URL-адрес драйвера установлен на «spark://CoarseGrainedScheduler@172.25.230.63:35625» — проблема здесь в том, что работник, таким образом, пытается подключиться к данному IP-адресу, который недоступен, но находится на компьютере с Windows, на котором размещен экземпляр WSL2, с которого запускается драйвер. Таким образом, я попытался установить spark.driver.host на IP-адрес локальной сети окна, но spark не сможет привязать случайный порт по этому адресу (так как он невидим для машины WSL2). Есть какие-нибудь подсказки о том, как установить URL-адрес драйвера для рабочего?