Я работаю над настройкой кластера Spark в многосетевой сети и столкнулся с некоторыми проблемами.Я начну с физической конфигурации.
У меня 12 стоек в стойке, которые имеют межстраничную инфинитную сеть 100G с использованием ipoib и сети управления 1G.
Spark отлично работает, когдаЯ запускаю задания с главного узла в кластере, но теперь я пытаюсь выполнять задания со своей рабочей станции, которая подключена к сети управления, где я столкнулся с проблемой.
Все узлы спарк имеют своих хостовфайл указывает на сеть infiniband, так как я хочу, чтобы они общались по этой сети.Мне пришлось установить SPARK_MASTER_HOST для мастер-узла на 0.0.0.0, чтобы даже иметь возможность подключаться к мастеру с моей рабочей станции.
Теперь я могу создать SparkSession и выполнять операции, но он всегда зависает, и когда япосмотрите журналы рабочих, я вижу, что они получают ошибку "Нет маршрута к хосту".Кажется, что хотя маршрут по умолчанию для узла настроен на подсеть управления, он пытается подключиться к клиенту с помощью сети infiniband.(Я должен отметить, что я могу пропинговать свою рабочую станцию от всех клиентов, так что я знаю, что сетевой маршрут в порядке. Также все брандмауэры в настоящий момент отключены)
В качестве примечания, из-заПри такой настройке веб-интерфейс spark master работает не очень хорошо, потому что все ссылки на рабочих указывают на IP-адрес infiniband, поэтому он всегда дает сбой, но если вы просто измените IP-адрес вручную в адресной строке на правильную подсеть, то этоработает.Это было бы неплохо исправить, но это не так уж и сложно.
Я попытался просмотреть документацию по искрам, но на самом деле я не нашел ничего полезного, я попытался поиграть с некоторыми изнастройки сети, но мне не повезло.Мне трудно поверить, что spark не поддерживает частную сеть, но, возможно, это так.
Я ценю любую помощь или идеи, которые вы, ребята, можете мне дать.