Akka Apache Spark-工作进程的连接被拒绝

Akka Apache Spark-工作进程的连接被拒绝,akka,apache-spark,Akka,Apache Spark,嗨,我是apache spark的新手,我正在努力学习它 在创建新的独立群集时,我遇到了此错误 我启动了我的主机,它在端口7077中处于活动状态,我可以在ui(端口8080)中看到这一点 在使用命令启动服务器时 ./bin/spark-class org.apache.spark.deploy.worker.Worker spark://192.168.0.56:7077 我遇到一个连接被拒绝的错误 14/07/22 13:18:30 ERROR EndpointWriter: Associ

嗨,我是apache spark的新手,我正在努力学习它

在创建新的独立群集时,我遇到了此错误

我启动了我的主机,它在端口7077中处于活动状态,我可以在ui(端口8080)中看到这一点

在使用命令启动服务器时

 ./bin/spark-class org.apache.spark.deploy.worker.Worker spark://192.168.0.56:7077
我遇到一个连接被拒绝的错误

14/07/22 13:18:30 ERROR EndpointWriter: AssociationError [akka.tcp://sparkWorker@node-        physical:55124] -> [akka.tcp://sparkMaster@192.168.0.56:7077]: Error [Association failed     with [akka.tcp://sparkMaster@192.168.0.56:7077]] [
akka.remote.EndpointAssociationException: Association failed with [akka.tcp://sparkMaster@192.168.0.56:7077]
Caused by: akka.remote.transport.netty.NettyTransport$$anonfun$associate$1$$anon$2:     Connection refused: /192.168.0.56:7077
请帮我纠正这个错误,我在这里呆了很长时间


我希望这些信息足够了。请帮助检查您的防火墙是否已关闭,因为它可能会通过临时关闭防火墙来阻止工作连接:

$ sudo service iptables stop
或永久:

$ sudo chkconfig iptables off

您是否在etc/hosts中添加了主节点和工作节点的条目,如果没有,请在所有计算机中添加每台计算机的ip和主机名映射。

在我的情况下,我转到/etc/hosts并:

  • 用127.0.1.1删除了该行,该行正常工作
  • 写了“主机IP机器名称”

    • spark似乎对IP和机器名非常挑剔。因此,当启动您的主机时,它将使用您的机器名来注册spark主机。如果你的员工无法联系到这个名字,那么几乎不可能联系到

      解决这个问题的一个方法是像这样开始你的主人:

      SPARK_MASTER_IP=YOUR_SPARK_MASTER_IP ${SPARK_HOME}/sbin/start-master.sh
      
      然后,你就可以像这样连接你的奴隶了

      ${SPARK_HOME}/sbin/start-slave.shspark://YOUR_SPARK_MASTER_IP:PORT


      我希望有帮助

      试试“/sbin/start master-h”。当我将主机名指定为IP地址时,它可以工作。

      在主节点的SPARK env.sh中更改SPARK\u MASTER\u host=

      然后重新启动主机,如果您grep进程,您将看到它从

      java-cp/spark/conf/:/spark/jars/*-Xmx1g org.apache.spark.deploy.master.master--主机名--port 7077--webui端口8080


      java-cp/spark/conf/:/spark/jars/*-Xmx1g org.apache.spark.deploy.master.master--host--port 7077--webui port 8080

      适用于Windows:spark class org.apache.spark.deploy.master.master-h[要绑定的接口IP]

      我在docker容器中遇到类似问题,我通过将master和driver的IP设置为localhost解决了这个问题,特别是:

          set('spark.master.hostname' ,'localhost')
          set('spark.driver.hostname', 'localhost')
      

      我没有DNS,我在主节点的
      /etc/hosts
      中添加了条目,以引用所有主节点和工作节点的IP和主机名。在工作节点中,我在
      /etc/hosts

      中添加了主节点的IP和主机名。您可以从工作节点执行
      telnet 192.168.0.56 7077
      并获得连接吗?不,我无法尝试192.168.0.56。。。telnet:无法连接到远程主机:连接被拒绝这是一个网络问题。您的网络拓扑如何?主节点和工作节点在同一个网络上吗?它们可以通过主机名、ip地址或两者来解析对方吗?是的,它们通过相同的lan网络连接…工作节点的ip是多少?您应该能够从辅助服务器远程登录到主服务器并获得连接。检查您的设置。仅注释127.0.1.1行对我来说非常有效。使用
      127.0.1.1
      删除该行,然后主机名解析为网络接口卡的第一个可用IP地址。因此,工作人员可以访问spark服务。@GaryWang您的意思是说,
      127.0.1.1 localhost
      ?行在我的情况下有效。这对我也有效。似乎没有
      spark\u MASTER\u IP
      ,但是回答中提到的
      spark\u MASTER\u HOST