Spark Master и Workers не подключаются через адреса Localhost

После установки пакета Spark в Linux (SuSE SLES 12) я вижу следующую ошибку подключения («не удалось подключиться»), которая помимо подчиненного процесса Spark также влияет на примеры «pyspark», отклоняя подключения. Любой намек на то, как активировать подключение к порту 7077 через адреса localhost, приветствуется. Частью проблемы могут быть настройки брандмауэра Linux по умолчанию.

Команды брандмауэра для открытия адресов Localhost:

sudo iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
sudo iptables -A INPUT -s 127.0.0.1 -d zbra2016 -j ACCEPT

Запуск Spark Master — команды:

export SPARK_LOCAL_IP=zbra2016  
./sbin/stop-master.sh
./sbin/start-master.sh



16/04/19 10:12:29 INFO Master: Registered signal handlers for [TERM, HUP, INT]
16/04/19 10:12:29 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
16/04/19 10:12:29 INFO SecurityManager: Changing view acls to: linux1
16/04/19 10:12:29 INFO SecurityManager: Changing modify acls to: linux1
16/04/19 10:12:29 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(linux1); users with modify permissions: Set(linux1)
16/04/19 10:12:30 INFO Utils: Successfully started service 'sparkMaster' on port 7077.
16/04/19 10:12:30 INFO Master: Starting Spark master at spark://zbra2016:7077
16/04/19 10:12:30 INFO Master: Running Spark version 1.6.1
16/04/19 10:12:30 WARN Utils: Service 'MasterUI' could not bind on port 8080. Attempting port 8081.
16/04/19 10:12:30 INFO Utils: Successfully started service 'MasterUI' on port 8081.
16/04/19 10:12:30 INFO MasterWebUI: Started MasterWebUI at http://localhost:8081
16/04/19 10:12:30 INFO Utils: Successfully started service on port 6066.
16/04/19 10:12:30 INFO StandaloneRestServer: Started REST server for submitting applications on port 6066
16/04/19 10:12:31 INFO Master: I have been elected leader! New state: ALIVE

Запуск Spark Worker — команды:

./sbin/stop-slave.sh 
./sbin/start-slave.sh spark://zbra2016:7077

В файле журнала отображается сообщение «Не удалось подключиться к ошибке»:

 /data/spark/spark/logs/spark-linux1-org.apache.spark.deploy.worker.Worker-1-zbra2016.out
16/04/19 10:15:46 INFO Worker: Retrying connection to master (attempt # 1)
16/04/19 10:15:46 INFO Worker: Connecting to master zbra2016:7077...
16/04/19 10:15:47 WARN Worker: Failed to connect to master zbra2016:7077
java.io.IOException: Failed to connect to zbra2016/127.0.0.1:7077

Проверка подключения псевдонима: zbra2016 = localhost

linux1@zbra2016:/data/spark/spark> ping zbra2016
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.022 ms

person Claude Falbriard    schedule 19.04.2016    source источник


Ответы (2)


Мы только что нашли решение для этого в настройке брандмауэра Linux iptables. Я использовал следующую команду, чтобы открыть локальный трафик:

iptables -I INPUT 1 -p all -s localhost -d localhost -j ACCEPT  

Теперь рабочий процесс может подключаться к мастеру через порты localhost.

person Claude Falbriard    schedule 21.04.2016

Возможно, вы сможете изменить настройки, разрешающие порт 7077 через брандмауэр. Попробуйте: sudo ufw разрешить 7077

person seekanddestroy1991    schedule 24.12.2017
comment
ufw не существует на сервере SUSE linux, как бы вы его туда установили? - person Snow; 26.11.2020