В Apache Spark, как добиться поведения --host [host] на нескольких рабочих процессах с помощью переменной spark-env или start-slaves.sh

В автономном режиме Spark, когда я запускаю воркера с start-slave.sh spark://master:7077, я могу указать хост, который слушает воркер с помощью --host [host]. Это непрактично, если у вас несколько рабочих.

Как я могу добиться, чтобы рабочие появлялись в главном WebUI с указанными именами хостов, не запуская их по очереди? Есть ли для этого переменная окружения? Или я могу каким-то образом передать аргументы, специфичные для рабочего, в стартовый скрипт (start-slaves.sh)?

Например:

conf / подчиненные:

worker1
worker2
worker3

Кластер запускается start-all.sh и должен иметь тот же эффект, что и (обратите внимание на аргумент -h):

ssh worker1 $SPARK_HOME/sbin/start-slave.sh -h worker1 spark://master:7077
ssh worker2 $SPARK_HOME/sbin/start-slave.sh -h worker2 spark://master:7077
ssh worker3 $SPARK_HOME/sbin/start-slave.sh -h worker4 spark://master:7077

По умолчанию рабочие сообщаются по их IP-адресу, который я хочу заменить на удобные имена из /etc/hosts.


person deadbeef    schedule 23.05.2017    source источник


Ответы (1)


Я нашел один способ - установить SPARK_LOCAL_HOSTNAME в spark-env.sh на подчиненных узлах.

person HargrimmTheBleak    schedule 01.02.2019