为什么独立的从属设备无法在单独的Mac OS机箱上连接到主设备?

时间:2015-12-25 21:18:02

标签: macos networking apache-spark

我家里有两台Mac(OS X EI Caption),都连接到同一个wifi。我想在这两台计算机上安装一个spark集群(有两个worker)。

Mac1(192.168.1.2)是我的主人,使用Spark 1.5.2,它运行良好,我可以在http://localhost:8080/看到Spark UI(我也看到了spark:// Mac1:7077 )

我也在这台机器上运行了一个奴隶(Mac1),我在Spark用户界面下看到它。

然后,我在第二台机器(Mac2)上复制了Spark,我试图通过这个命令在Mac2(192.168.2.9)上运行另一个Slave:

./sbin/start-slave.sh spark://Mac1:7077

但是,它不起作用:查看它显示的日志:

Failed to connect to master Mac1:7077
Actor not found for: ActorSelection[Anchor(akka.tcp://sparkMaster@Mac1:7077/),Path(/User/Master)]

网络方面,在Mac1,我可以通过SSH连接到Mac2,反之亦然,但我无法telnet到Mac1:7077。

如果你帮助我解决这个问题,我将不胜感激。

3 个答案:

答案 0 :(得分:3)

tl; dr 使用-h的{​​{1}}选项,即./sbin/start-master.sh

或者,您可以改为./sbin/start-master.sh -h Mac1

原因是Spark中对端口的绑定对使用的名称和IP非常敏感。所以,在你的情况下,192.168.1.2!= Mac1。它们在Spark中是不同的“名称”,这就是为什么你可以成功使用./sbin/start-slave.sh spark://192.168.1.2:7077,因为它在操作系统上使用名称解析器,而它在上述条件成立的Spark级别不起作用,即“名称”不是相等。

答案 1 :(得分:0)

可能是mac上的网络/防火墙问题。

另外,您复制/粘贴参考端口7070的错误消息是这个问题吗?

答案 2 :(得分:0)

使用conf / slaves中的IP地址以某种方式工作,但我必须在任何地方使用IP来寻址集群而不是主机名。

SPARK + Standalone Cluster: Cannot start worker from another machine