Подтвердить что ты не робот

Spark Standalone Cluster - подчиненный не подключается к мастеру

Я пытаюсь настроить автономный кластер Spark после официальной документации.

Мой мастер находится на локальном vm, запущенном ubuntu, и у меня также есть один рабочий, работающий на том же компьютере. Он подключается, и я могу видеть его статус в WebUI мастера.

Вот изображение WebUi -

enter image description here

Но когда я пытаюсь подключить ведомое устройство с другого компьютера, я не могу этого сделать.

Это сообщение журнала, которое я получаю у рабочего, когда я начинаю с другой машины. Я попытался использовать start-slaves.sh от мастера после обновления conf\slaves, а также start-slave.sh spark://spark:7077 от подчиненного устройства.

[Главное имя хоста - искра; Рабочий хозяин - работник]

15/07/01 11:54:16 WARN ReliableDeliverySupervisor: Association with remote system [akka.tcp://[email protected]:7077] has failed, address is now gated for [5000] ms. Reason is: [Association failed with [akka.tcp://[email protected]:7077]].
15/07/01 11:54:59 ERROR Worker: All masters are unresponsive! Giving up.
15/07/01 11:54:59 INFO Utils: Shutdown hook called

Когда я пытаюсь подключиться к telnet от подчиненного устройства к мастеру, это то, что я получаю -

[email protected]:~# telnet spark 7077
Trying 10.xx.xx.xx...
Connected to spark.
Escape character is '^]'.
Connection closed by foreign host.

Telnet, похоже, работает, но соединение закрывается, как только оно установлено. Может ли это иметь какое-то отношение к проблеме?

Я добавил основные и подчиненные IP-адреса в /etc/hosts на обеих машинах. Я следил за всеми решениями, приведенными в SPARK + Standalone Cluster: не удается запустить сотрудника с другого компьютера но они не работали для меня.

У меня есть следующий конфигурационный набор в spark-env.sh в обеих машинах -

экспорт SPARK_MASTER_IP = искра

export SPARK_WORKER_PORT = 44444

Любая помощь очень ценится.

4b9b3361

Ответ 1

Я сталкиваюсь с той же проблемой, что и вы, и просто выясняю, как заставить ее работать.

Проблема заключается в том, что ваш искровой мастер прослушивает имя хоста, в вашем примере Искра, что заставляет рабочего на том же хосте иметь возможность успешно регистрироваться, но с другого компьютера с командой start-slave.sh spark://spark:7077./p >

Решение состоит в том, чтобы убедиться, что значение SPARK_MASTER_IP указано с ip в файле conf/spark-env.sh

    SPARK_MASTER_IP=<your host ip>

на вашем хозяине node, и запустите свой искровой мастер как обычно. Вы можете открыть свой веб-gui, чтобы убедиться, что ваш искровой мастер появился как искра://YOUR_HOST_IP: 7077 после старта. Затем на другой машине с командой start-slave.sh spark://<your host ip>:7077 должен начать и зарегистрировать работника для успешного освоения.

Надеюсь, это поможет вам.

Ответ 2

Его зависит от вашей искровой версии, ей понадобится другая конф. если ваша искровая версия 1.6 добавляет эту строку в conf/spark-env.sh, чтобы другая машина могла подключиться к мастеру

SPARK_MASTER_IP = your_host_ip

и если ваша искровая версия - 2.x, добавьте эти строки в conf/spark-env.sh

SPARK_MASTER_HOST = your_host_ip

SPARK_LOCAL_IP = your_host_ip

после добавления этих строк исправить:

./SBIN/spark-all.sh

и если вы поступите правильно, вы можете увидеть в <your_host_ip>:8080, что главный исходный url: spark://<your_host_ip>:7077

BeCarefule your_host_ip, не должен быть localhost и должен быть точно Your host ip, который вы установили в conf/spark-env.sh

В конце концов вы можете подключить другую машину к мастеру с помощью команды ниже:

./sbin/start-slave.sh Искра://your_host_ip: 7077

Ответ 3

Я только что запустил свой собственный искровой кластер с версией 2.10. То, как я решил свою проблему, следующее:

 ./sbin/start-master.sh -h <your_ip>

Ответ 4

Все приведенные выше решения не помогли мне, но я нашел еще один способ решения проблемы: fooobar.com/info/1663304/...

Пожалуйста, проверьте файл конфигурации " spark-env.sh " на вашем главном узле. Вы установили переменную SPARK_MASTER_HOST в IP-адрес главного узла? Если нет, попытайтесь установить его и перезапустите главный и подчиненные. Например, если IP-адрес вашего главного узла равен 192.168.0.1, у вас должно быть SPARK_MASTER_HOST = 192.168.0.1. Обратите внимание, что вам не нужно устанавливать эту переменную на своих подчиненных.