Apache spark apache spark启动从属服务器引发akka.actor.ActorNotFound异常

Apache spark apache spark启动从属服务器引发akka.actor.ActorNotFound异常,apache-spark,Apache Spark,我正在尝试安装一个独立的spark群集。我准备了3台安装了Ubuntu的虚拟机 这三台机器由一台主机和两台从机组成一个集群 我遵循了ApacheSpark文档中的步骤。我从主节点开始编写主脚本,效果很好 问题发生在奴隶身上 我尝试在每台机器上使用sbin/start-slave.sh启动从机一次,在主节点上使用sbin/start-slaves.sh启动另一次 从属节点上的工作节点无法启动并引发以下异常 15/11/06 02:12:36 WARN Worker: Failed to conne

我正在尝试安装一个独立的spark群集。我准备了3台安装了Ubuntu的虚拟机

这三台机器由一台主机和两台从机组成一个集群

我遵循了ApacheSpark文档中的步骤。我从主节点开始编写主脚本,效果很好

问题发生在奴隶身上

我尝试在每台机器上使用sbin/start-slave.sh启动从机一次,在主节点上使用sbin/start-slaves.sh启动另一次

从属节点上的工作节点无法启动并引发以下异常

15/11/06 02:12:36 WARN Worker: Failed to connect to master rethink-node01:7077
akka.actor.ActorNotFound: Actor not found for: ActorSelection[Anchor(akka.tcp://sparkMaster@rethink-node01:7077/), Path(/user/Master)]
        at akka.actor.ActorSelection$$anonfun$resolveOne$1.apply(ActorSelection.scala:65)
        at akka.actor.ActorSelection$$anonfun$resolveOne$1.apply(ActorSelection.scala:63)
        at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:32)
        at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
        at akka.dispatch.BatchingExecutor$Batch.run(BatchingExecutor.scala:73)
        at akka.dispatch.ExecutionContexts$sameThreadExecutionContext$.unbatchedExecute(Future.scala:74)
        at akka.dispatch.BatchingExecutor$class.execute(BatchingExecutor.scala:120)
        at akka.dispatch.ExecutionContexts$sameThreadExecutionContext$.execute(Future.scala:73)
        at scala.concurrent.impl.CallbackRunnable.executeWithValue(Promise.scala:40)
        at scala.concurrent.impl.Promise$DefaultPromise.tryComplete(Promise.scala:248)
        at akka.pattern.PromiseActorRef.$bang(AskSupport.scala:266)
        at akka.actor.EmptyLocalActorRef.specialHandle(ActorRef.scala:533)
        at akka.actor.DeadLetterActorRef.specialHandle(ActorRef.scala:569)
        at akka.actor.DeadLetterActorRef.$bang(ActorRef.scala:559)
        at akka.remote.RemoteActorRefProvider$RemoteDeadLetterActorRef.$bang(RemoteActorRefProvider.scala:87)
        at akka.remote.EndpointWriter.postStop(Endpoint.scala:557)
        at akka.actor.Actor$class.aroundPostStop(Actor.scala:477)
        at akka.remote.EndpointActor.aroundPostStop(Endpoint.scala:411)
        at akka.actor.dungeon.FaultHandling$class.akka$actor$dungeon$FaultHandling$$finishTerminate(FaultHandling.scala:210)
        at akka.actor.dungeon.FaultHandling$class.terminate(FaultHandling.scala:172)
        at akka.actor.ActorCell.terminate(ActorCell.scala:369)
        at akka.actor.ActorCell.invokeAll$1(ActorCell.scala:462)
        at akka.actor.ActorCell.systemInvoke(ActorCell.scala:478)
        at akka.dispatch.Mailbox.processAllSystemMessages(Mailbox.scala:263)
        at akka.dispatch.Mailbox.run(Mailbox.scala:219)
        at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397)
        at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
        at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
        at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
        at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

我在建立一个独立的spark群集时遇到了这个问题。对我来说,这是由于纯粹的网络设置问题造成的

从从机上试着去做

telnet主机IP 7077

如果未建立连接,则需要检查防火墙设置,或者在我的情况下,检查spark端口7077正在侦听的位置。当它不工作时,这是我的netstat的输出

netstat-an | grep 7077 tcp 0 0 127.0.0.2:7077::*侦听

我从/etc/hosts中删除了有问题的127.0.0.2条目,然后一切都开始正常工作

netstat-an | grep 7077 tcp 0 1.1.1.1:7077::*侦听


好奇这个答案是否有效?你还没有接受,所以我想不会吧?这是如何解决的?我认为有一些与主机名/Spark相关的错误会影响这一点,例如,顺便说一句,在这些情况下,查看主日志中发生的情况非常有帮助,当工作人员似乎在黑暗中摸索时,主服务器可能会显示连接失败,因为主服务器可以听到工作人员的声音,但无法与之通信。这只是一个想法。+1关于这一点,Spark似乎并不总是能很好地使用环回地址,尤其是127.0.0.1以外的地址,尝试在127.0.1.1上搜索,会出现许多指向debian文档的链接。我必须在所有Spark配置中使用显式ip地址,否则会出错