2016-04-17 10 views
0

Mit Akka-Dokumenten kann ich zwei Schauspieler (Front-End und Back-End) auf demselben Computer starten und mit ihnen sprechen andere. Als ich jedoch versucht habe, Back-End-Akteur auf einem anderen Rechner (Linux) zu deployen, habe ich einen Fehler beim Start-Remoting bekommen:Ferngesteuerter Start eines Akka-Schauspielers: akka-in-action chapter-remoting

============ Mehrere Hauptklassen gefunden, wählen Sie eine aus auszuführen:

[1] com.goticks.BackendMain 
[2] com.goticks.BackendRemoteDeployMain 
[3] com.goticks.FrontendMain 
[4] com.goticks.FrontendRemoteDeployMain 
[5] com.goticks.FrontendRemoteDeployWatchMain 
[6] com.goticks.SingleNodeMain 

Nummer eingeben: 2

[info] Running com.goticks.BackendRemoteDeployMain 
INFO [Slf4jLogger]: Slf4jLogger started 
INFO [Remoting]: Starting remoting 

ERROR [NettyTransport]: Fehler beim /192.168.1.9:2551 zu binden, Netty Transport

Abschalten

192.168.1.9 ist ein andere Maschine.

In backend.conf:

remote { 
    enabled-transports = ["akka.remote.netty.tcp"] 
    netty.tcp { 
    #hostname = "0.0.0.0" 
    hostname = "192.168.1.9" 
    port = 2551 
    } 
} 

Ich habe eine grundlegende Frage, wenn deploy und einen Remote-Akteur auf dem Remote-JVM starten, tun wir Benutzer-Login-Informationen zu Remote-Rechner benötigen?

Danke,

Antwort

0

Sie haben keine Benutzer-Login-Informationen benötigen, denke ich, Ihr Port 2551 ist bereits im Einsatz auf hostname = 192.168.1.9, sind Sie sicher, dass Sie tun es in der Vergangenheit nicht benutzen? Ich habe versucht, das Programm zum zweiten Mal laufen und es passiert Exception in thread "main" org.jboss.netty.channel.ChannelException: Failed to bind to: /192.168.3.216:2552

+0

Vielen Dank für Ihre Hilfe, @ user5025962. No 2551 ist auf dem entfernten Rechner frei verfügbar (192.168.1.9). Wenn ich den Code auf den Remote-Computer kopiert, kompiliert und manuell als Backend ActorSystem gestartet habe, kann er mit dem Front-End auf dem lokalen Rechner sprechen. – CleanCoder88

0

Nur um weitere Informationen hinzufügen, in Bezug auf

Ich hatte auch das gleiche Problem, und ich versehentlich vergessen das laufende Programm auf dem gleichen Port danach zu schließen meine vorherige Frage:

Mehrere Hauptklassen erkannt werden, wählen laufen:

[1] com.goticks.BackendMain 
[2] com.goticks.BackendRemoteDeployMain 
[3] com.goticks.FrontendMain 
[4] com.goticks.FrontendRemoteDeployMain 
[5] com.goticks.FrontendRemoteDeployWatchMain 
[6] com.goticks.SingleNodeMain 

Enter number: 2 

[info] Running com.goticks.BackendRemoteDeployMain 
[DEBUG] [04/18/2016 15:54:11.554] [run-main-0] [EventStream(akka://backend)]  logger log1-Logging$DefaultLogger started 
[DEBUG] [04/18/2016 15:54:11.555] [run-main-0] [EventStream(akka://backend)] Default Loggers started 
[INFO] [04/18/2016 15:54:11.591] [run-main-0] [akka.remote.Remoting] Starting remoting 
[ERROR] [04/18/2016 15:54:11.748] [backend-akka.remote.default-remote-dispatcher-5] [NettyTransport(akka://backend)] failed to bind to /192.168.1.9:2551, shutting down Netty transport 
[ERROR] [04/18/2016 15:54:11.757] [run-main-0] [akka.remote.Remoting] Remoting error: [Startup failed] [ 
akka.remote.RemoteTransportException: Startup failed at  
akka.remote.Remoting.akka$remote$Remoting$$notifyError(Remoting.scala:136) 
     at akka.remote.Remoting.start(Remoting.scala:201) 
     at akka.remote.RemoteActorRefProvider.init(RemoteActorRefProvider.scala:184) 
     at akka.actor.ActorSystemImpl.liftedTree2$1(ActorSystem.scala:663)  
     at akka.actor.ActorSystemImpl._start$lzycompute(ActorSystem.scala:660) 
     at akka.actor.ActorSystemImpl._start(ActorSystem.scala:660) 
     at akka.actor.ActorSystemImpl.start(ActorSystem.scala:676) 
     at akka.actor.ActorSystem$.apply(ActorSystem.scala:143) 
     at akka.actor.ActorSystem$.apply(ActorSystem.scala:120) 
     at com.goticks.BackendRemoteDeployMain$.delayedEndpoint$com$goticks$BackendRemoteDeployMain$1(BackendRemoteDeployMain.scala:9) 
     at com.goticks.BackendRemoteDeployMain$delayedInit$body.apply(BackendRemoteDeployMain.scala:6) 
     at scala.Function0$class.apply$mcV$sp(Function0.scala:34) 
     at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12) 
     at scala.App$$anonfun$main$1.apply(App.scala:76) 
     at scala.App$$anonfun$main$1.apply(App.scala:76) 
     at scala.collection.immutable.List.foreach(List.scala:381) 
     at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35) 
     at scala.App$class.main(App.scala:76) 
     at com.goticks.BackendRemoteDeployMain$.main(BackendRemoteDeployMain.scala:6) 
     at com.goticks.BackendRemoteDeployMain.main(BackendRemoteDeployMain.scala) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
     at java.lang.reflect.Method.invoke(Unknown Source) 
     at sbt.Run.invokeMain(Run.scala:67) 
     at sbt.Run.run0(Run.scala:61) 
     at sbt.Run.sbt$Run$$execute$1(Run.scala:51) 
     at sbt.Run$$anonfun$run$1.apply$mcV$sp(Run.scala:55) 
     at sbt.Run$$anonfun$run$1.apply(Run.scala:55) 
     at sbt.Run$$anonfun$run$1.apply(Run.scala:55) 
     at sbt.Logger$$anon$4.apply(Logger.scala:85) 
     at sbt.TrapExit$App.run(TrapExit.scala:248) 
     at java.lang.Thread.run(Unknown Source) 
Caused by: org.jboss.netty.channel.ChannelException: Failed to bind to: /192.168.1.9:2551 
     at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:272) 
     at akka.remote.transport.netty.NettyTransport$$anonfun$listen$1.apply(NettyTransport.scala:410) 
     at akka.remote.transport.netty.NettyTransport$$anonfun$listen$1.apply(NettyTransport.scala:406)