Apache spark Spark独立群集-从机未连接到主机
我正试图按照官方文档设置Spark独立集群 我的主人在一个运行ubuntu的本地vm上,我还有一个工人在同一台机器上运行。它正在连接,我可以在主机的WebUI中看到它的状态 这是WebUi图像- 但当我试图从另一台机器连接一个从机时,我无法做到这一点 这是我从另一台机器启动时在worker中收到的日志消息。 在更新conf\slaves和Apache spark Spark独立群集-从机未连接到主机,apache-spark,Apache Spark,我正试图按照官方文档设置Spark独立集群 我的主人在一个运行ubuntu的本地vm上,我还有一个工人在同一台机器上运行。它正在连接,我可以在主机的WebUI中看到它的状态 这是WebUi图像- 但当我试图从另一台机器连接一个从机时,我无法做到这一点 这是我从另一台机器启动时在worker中收到的日志消息。 在更新conf\slaves和start-slave.sh之后,我尝试从主服务器使用start-slaves.shspark://spark:7077从从机上 [主主机名-spark;工作
start-slave.sh之后,我尝试从主服务器使用start-slaves.sh
spark://spark:7077
从从机上
[主主机名-spark;工作者主机名-工作者]
15/07/01 11:54:16 WARN ReliableDeliverySupervisor: Association with remote system [akka.tcp://sparkMaster@spark:7077] has failed, address is now gated for [5000] ms. Reason is: [Association failed with [akka.tcp://sparkMaster@spark: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
当我尝试从奴隶到主人的远程登录时,这就是我得到的-
root@worker:~# telnet spark 7077
Trying 10.xx.xx.xx...
Connected to spark.
Escape character is '^]'.
Connection closed by foreign host.
Telnet似乎可以工作,但连接一建立就关闭了。这可能与问题有关吗
我已经在两台机器的/etc/hosts中添加了主IP地址和从IP地址。
我遵循了会议上给出的所有解决方案
但他们没有为我工作
我在两台机器的spark-env.sh中都设置了以下配置-
导出SPARK\u MASTER\u IP=SPARK
导出SPARK\u WORKER\u端口=44444
非常感谢您的帮助。我遇到了与您完全相同的问题,我只是想知道如何让它工作 问题是spark主机正在侦听主机名,在您的示例中是spark,这会导致同一主机上的工作进程能够成功注册,但无法使用命令
start-slave.sh从另一台机器注册spark://spark:7077
解决方案是确保在conf/SPARK-env.sh文件中用IP指定SPARK\u MASTER\u IP值
SPARK\u MASTER\u IP=
在主节点上,按正常方式启动spark主节点。您可以打开web GUI以确保spark master显示为spark://YOUR_HOST_IP:7077 开始之后。然后,在另一台机器上,使用命令start-slave.sh spark://:7077
应成功启动并注册worker以掌握
希望它能帮助您这取决于您的spark版本,它需要不同的配置。 如果您的spark版本1.6将这一行添加到
conf/spark env.sh
,以便另一台机器可以连接到master
SPARK\u MASTER\u IP=您的\u主机\u IP
如果您的spark版本是2.x,则将这些行添加到conf/spark env.sh
SPARK\u MASTER\u HOST=您的\u HOST\u ip
SPARK\u LOCAL\u IP=您的\u主机\u IP
添加这些线路后,运行spark:
/sbin/spark-all.sh
如果你做对了,你可以在:8080
中看到spark主url是:spark://:7077
因为您的主机ip不应该是localhost
,而且必须是您在conf/spark env.sh
毕竟,您可以使用以下命令将另一台机器连接到主机:
/sbin/start-slave.shspark://your_host_ip:7077
我刚刚推出了自己的spark cluster 2.10版。我解决问题的方法如下:
./sbin/start-master.sh -h <your_ip>
/sbin/start-master.sh-h
以上所有解决方案对我都不起作用,但我找到了另一种解决问题的方法:
请检查主节点上的配置文件“spark env.sh”。您是否已将SPARK\u MASTER\u HOST变量设置为主节点的IP地址?如果没有,请尝试设置并重新启动主设备和从设备。例如,如果主节点的IP为192.168.0.1,则其中应包含SPARK\u master\u HOST=192.168.0.1。请注意,您不需要在从属服务器上设置此变量
spark defaults.conf.template
spark.master spark://your hostname:7077
要查找主机名,请在命令提示符下键入
hostname
。解决方案不起作用,但至少给我一个不同的错误。您是否对从属计算机进行了无密码身份验证?。如果不是主设备,则不可能进行从设备通信。在最新版本上更改为SPARK_MASTER_HOST这在SPARK 2.0.1上也适用。在此更改之前,URL为spark://spark-master:7077 在那之后spark://IP:7077. 谢谢这个答案让我省去了很多挫折。在过去的两天里,我一直在尝试调试该问题,但在SPARK版本2.x中,我看不到SPARK_MASTER_IP参数已更改为SPARK_MASTER_HOST。在哪里都没有提到这件事,真是可笑。
spark.master spark://your hostname:7077