akka群集种子节点给出错误:为非本地收件人丢弃消息

Adr*_*ian 16 scala actor akka akka-cluster

我正在尝试从这个文档在Win 7机器上创建一个基本的akka​​集群:http://doc.akka.io/docs/akka/snapshot/scala/cluster-usage.html

我运行种子节点时遇到错误(下面有更多内容)

AdriansClusterSystem-akka.actor.default-dispa tcher-16] [akka:// AdriansClusterSystem/system/endpointManager/reliableEndpointWr iter-akka.tcp%3A%2F%2FAdriansClusterSystem%40127.0.0.1%3A2552-3/endpointWriter]删除消息[来自[akka.tcp:// ClusterSys tem@127.0.0.1:2552]的非本地收件人[Act或[akka.tcp://ClusterSystem@127.0.0.1:2552 /]]的类akka.actor.SelectChildName]入站地址为[akka.tcp://AdriansClusterSystem@127.0 .0.1:2552]

问题: 为什么我收到此错误?我是否遗漏了akka文档中的内容?

我的.conf文件:
我添加了这个额外的行*到上面的URL列出的文件* enabled-transports = ["akka.remote.netty.tcp"]

akka {
  actor {
    provider = "akka.cluster.ClusterActorRefProvider"
  }
  remote {
    enabled-transports = ["akka.remote.netty.tcp"]  <--added this from remoting
    log-remote-lifecycle-events = off
    netty.tcp {
      hostname = "127.0.0.1"
      port = 0
    }
  }
  cluster {
    seed-nodes = [
    "akka.tcp://ClusterSystem@127.0.0.1:2551",
    "akka.tcp://ClusterSystem@127.0.0.1:2552"]

  auto-down = on
  }
}
Run Code Online (Sandbox Code Playgroud)

我启动了2个节点,每个节点都在不同的sbt窗口中

run-main sample.cluster.simple.SimpleClusterApp 2551  
run-main sample.cluster.simple.SimpleClusterApp 2552
Run Code Online (Sandbox Code Playgroud)

这两个启动都很好,然后反复显示一条ERROR消息:

mybuild:-:0.0.1-SNAPSHOT>`run-main sample.cluster.simple.SimpleClusterApp 2552`
[warn] Credentials file C:\Users\amocanu\.ivy2\.credentials does not exist  <-- ?
[info] Running sample.cluster.simple.SimpleClusterApp 2552
 args[0]= 2552
[INFO] [07/31/2013 10:50:00.397] [run-main] [Remoting] Starting remoting
[INFO] [07/31/2013 10:50:00.661] [run-main] [Remoting] Remoting started; listeni
ng on addresses :[akka.tcp://AdriansClusterSystem@127.0.0.1:2552]
[INFO] [07/31/2013 10:50:00.710] [run-main] [Cluster(akka://AdriansClusterSystem
)] Cluster Node [akka.tcp://AdriansClusterSystem@127.0.0.1:2552] - Starting up..
.
[INFO] [07/31/2013 10:50:00.823] [run-main] [Cluster(akka://AdriansClusterSystem
)] Cluster Node [akka.tcp://AdriansClusterSystem@127.0.0.1:2552] - Registered cl
uster JMX MBean [akka:type=Cluster]
[INFO] [07/31/2013 10:50:00.823] [run-main] [Cluster(akka://AdriansClusterSystem
)] Cluster Node [akka.tcp://AdriansClusterSystem@127.0.0.1:2552] - Started up su
ccessfully
[INFO] [07/31/2013 10:50:00.868] [AdriansClusterSystem-akka.actor.default-dispat
cher-2] [Cluster(akka://AdriansClusterSystem)] Cluster Node [akka.tcp://AdriansC
lusterSystem@127.0.0.1:2552] - Metrics will be retreived from MBeans, and may be
 incorrect on some platforms. To increase metric accuracy add the 'sigar.jar' to
 the classpath and the appropriate platform-specific native libary to 'java.libr
ary.path'. Reason: java.lang.ClassNotFoundException: org.hyperic.sigar.Sigar
[INFO] [07/31/2013 10:50:00.874] [AdriansClusterSystem-akka.actor.default-dispat
cher-2] [Cluster(akka://AdriansClusterSystem)] Cluster Node [akka.tcp://AdriansC
lusterSystem@127.0.0.1:2552] - Metrics collection has started successfully
[INFO] [07/31/2013 10:50:00.883] [AdriansClusterSystem-akka.actor.default-dispat
cher-13] [akka://AdriansClusterSystem/user/clusterListener] Current members:
[ERROR] [07/31/2013 10:50:01.003] [AdriansClusterSystem-akka.actor.default-dispa
tcher-3] [akka://AdriansClusterSystem/system/endpointManager/reliableEndpointWri
ter-akka.tcp%3A%2F%2FAdriansClusterSystem%40127.0.0.1%3A2551-0/endpointWriter] d
ropping message [class akka.actor.SelectChildName] for non-local recipient [Acto
r[akka.tcp://ClusterSystem@127.0.0.1:2552/]] arriving at [akka.tcp://ClusterSyst
em@127.0.0.1:2552] inbound addresses are [akka.tcp://AdriansClusterSystem@127.0.
0.1:2552]
[ERROR] [07/31/2013 10:50:01.009] [AdriansClusterSystem-akka.actor.default-dispa
tcher-16] [akka://AdriansClusterSystem/system/endpointManager/reliableEndpointWr
iter-akka.tcp%3A%2F%2FAdriansClusterSystem%40127.0.0.1%3A2552-3/endpointWriter]
dropping message [class akka.actor.SelectChildName] for non-local recipient [Act
or[akka.tcp://ClusterSystem@127.0.0.1:2552/]] arriving at [akka.tcp://ClusterSys
tem@127.0.0.1:2552] inbound addresses are [akka.tcp://AdriansClusterSystem@127.0
.0.1:2552]
Run Code Online (Sandbox Code Playgroud)

如果我现在这样做

run-main sample.cluster.simple.SimpleClusterApp
Run Code Online (Sandbox Code Playgroud)

应该选择一个随机端口并运行一个种子节点,它就像其他2个种子节点一样开始,然后显示一个未找到的类异常,INFO并且没有当前成员

[INFO] [07/31/2013 11:19:36.612] [AdriansClusterSystem-akka.actor.default-dispat
cher-3] [Cluster(akka://AdriansClusterSystem)] Cluster Node [akka.tcp://AdriansC
lusterSystem@127.0.0.1:54824] - Metrics will be retreived from MBeans, and may b
e incorrect on some platforms. To increase metric accuracy add the 'sigar.jar' t
o the classpath and the appropriate platform-specific native libary to 'java.lib
rary.path'. Reason: java.lang.ClassNotFoundException: org.hyperic.sigar.Sigar
[INFO] [07/31/2013 11:19:36.619] [AdriansClusterSystem-akka.actor.default-dispat
cher-3] [Cluster(akka://AdriansClusterSystem)] Cluster Node [akka.tcp://AdriansC
lusterSystem@127.0.0.1:54824] - Metrics collection has started successfully
[INFO] [07/31/2013 11:19:36.633] [AdriansClusterSystem-akka.actor.default-dispat
cher-12] [akka://AdriansClusterSystem/user/clusterListener] Current members:
Run Code Online (Sandbox Code Playgroud)

是的,它只是挂在那里,我必须关闭sbt窗口来终止它.

cmb*_*ter 17

看起来您的种子节点ClusterSystem用作actor系统名称,但根据您的日志,您将其AdriansClusterSystem用作actor系统名称.尝试将种子节点更改为:

seed-nodes = [
"akka.tcp://AdriansClusterSystem@127.0.0.1:2551",
"akka.tcp://AdriansClusterSystem@127.0.0.1:2552"]
Run Code Online (Sandbox Code Playgroud)

  • 我现在觉得自己像个白痴.谢谢就是这样,我一直在改变很多设置而忘记了这一改变.另一双眼睛总是帮助:) (2认同)