如何在Apache-Spark中连接主站和从站? (独立模式)

时间:2015-02-08 20:23:28

标签: apache-spark

我正在使用Spark Standalone Mode教程页面以独立模式安装Spark。

1-我通过以下方式开始了一位大师:

./sbin/start-master.sh

2-我通过以下方式创办了一名工人:

./bin/spark-class org.apache.spark.deploy.worker.Worker spark://ubuntu:7077

注意:spark://ubuntu:7077是我的主要名称,我可以在Master-WebUI中看到它。

问题:通过第二个命令,工作人员成功启动。但它无法与主人联系。它反复尝试,然后给出这个消息:

15/02/08 11:30:04 WARN Remoting: Tried to associate with unreachable    remote address [akka.tcp://sparkMaster@ubuntu:7077]. Address is now gated for 5000 ms, all messages to this address will be delivered to dead letters. Reason: Connection refused: ubuntu/127.0.1.1:7077
15/02/08 11:30:04 INFO RemoteActorRefProvider$RemoteDeadLetterActorRef: Message [org.apache.spark.deploy.DeployMessages$RegisterWorker] from Actor[akka://sparkWorker/user/Worker#-1296628173] to Actor[akka://sparkWorker/deadLetters] was not delivered. [20] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
15/02/08 11:31:15 ERROR Worker: All masters are unresponsive! Giving up.

有什么问题?

由于

3 个答案:

答案 0 :(得分:13)

我通常从spark-env.sh模板开始。我设置了我需要的属性。对于简单群集,您需要:

  • SPARK_MASTER_IP

然后,在与spark-env.sh和slave ip(每行一个)相同的目录中创建一个名为“slaves”的文件。保证你通过ssh到达所有奴隶。

最后,在群集的每台计算机中复制此配置。然后启动整个集群执行start-all.sh脚本并尝试使用spark-shell检查您的配置。

> sbin/start-all.sh
> bin/spark-shell

答案 1 :(得分:1)

您可以在export SPARK_LOCAL_IP="You-IP" #to set the IP address Spark binds to on this node

中设置$SPARK_HOME/conf/spark-env.sh

答案 2 :(得分:1)

在我的情况下,在独立模式下使用spark 2.4.7,我已经使用ssh-keygen创建了无密码的ssh密钥,但是在启动集群时仍然要求输入工作密码。

我所做的是按照此处的说明进行操作 https://www.cyberciti.biz/faq/how-to-set-up-ssh-keys-on-linux-unix/

此行解决了问题: ssh-copy-id -i $ HOME / .ssh / id_rsa.pub user @ server-ip