Spark Master 和 Worker 未通过本地主机地址连接

Spark Master and Workers not Connecting via Localhost Addresses

在 Linux (SuSE SLES 12) 安装 Spark 包后,我看到以下连接错误 ("failed to connect"),除了 Spark 从属进程外,它还会影响 "pyspark"例如,拒绝连接。欢迎任何提示如何通过本地主机地址激活端口 7077 连接。部分问题可能是默认的 Linux 防火墙设置。

打开本地主机地址的防火墙命令:

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

日志文件显示 "Failed to Connect Error Message":

 /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

我们刚刚在 Linux iptables 防火墙的设置中找到了解决方案。我使用以下命令打开本地主机流量:

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

现在工作进程可以通过本地主机端口连接到主进程。

您或许可以更改允许端口 7077 通过防火墙的设置。 尝试: sudo ufw 允许 7077