【发布时间】:2016-12-08 23:23:17
【问题描述】:
以下集群单例未启动。
commander = system.actorOf(
ClusterSingletonManager.props(Commander.props(this),
terminationMessage = PoisonPill.getInstance,
settings = ClusterSingletonManagerSettings.create(system).withRole("commander")
), name = "Commander")
没有错误消息被抛出。
日志是:
[INFO] [08/03/2016 11:43:58.656] [ScalaTest-run-running-ClusterSuite] [akka.remote.Remoting] 开始远程处理 [信息] [08/03/2016 11:43:59.007] [ScalaTest-run-running-ClusterSuite] [akka.remote.Remoting] 远程处理开始;监听地址:[akka.tcp://galaxyFarFarAway@127.0.0.1:59592] [信息] [08/03/2016 11:43:59.035] [ScalaTest-run-running-ClusterSuite] [akka.cluster.Cluster(akka://galaxyFarFarAway)] 集群节点 [akka.tcp://galaxyFarFarAway@127.0 .0.1:59592] - 正在启动... [信息] [08/03/2016 11:43:59.218] [ScalaTest-run-running-ClusterSuite] [akka.cluster.Cluster(akka://galaxyFarFarAway)] 集群节点 [akka.tcp://galaxyFarFarAway@127.0 .0.1:59592] - 注册集群 JMX MBean [akka:type=Cluster] [信息] [08/03/2016 11:43:59.218] [ScalaTest-run-running-ClusterSuite] [akka.cluster.Cluster(akka://galaxyFarFarAway)] 集群节点 [akka.tcp://galaxyFarFarAway@127.0 .0.1:59592] - 成功启动 [信息] [08/03/2016 11:43:59.247] [galaxyFarFarAway-akka.actor.default-dispatcher-2] [akka.cluster.Cluster(akka://galaxyFarFarAway)] 集群节点 [akka.tcp:/ /galaxyFarFarAway@127.0.0.1:59592] - 指标将从 MBean 中检索,并且在某些平台上可能不正确。要提高度量精度,请将“sigar.jar”添加到类路径,并将适当的特定于平台的本机库添加到“java.library.path”。原因:java.lang.ClassNotFoundException:org.hyperic.sigar.Sigar [信息] [08/03/2016 11:43:59.257] [galaxyFarFarAway-akka.actor.default-dispatcher-2] [akka.cluster.Cluster(akka://galaxyFarFarAway)] 集群节点 [akka.tcp:/ /galaxyFarFarAway@127.0.0.1:59592] - 指标收集已成功开始 [信息] [08/03/2016 11:43:59.268] [galaxyFarFarAway-akka.actor.default-dispatcher-3] [akka.cluster.Cluster(akka://galaxyFarFarAway)] 集群节点 [akka.tcp:/ /galaxyFarFarAway@127.0.0.1:59592] - 没有配置种子节点,需要手动加入集群 与目标VM断开连接,地址:'127.0.0.1:59574',传输:'socket'
配置是:
akka {
actor {
provider = "akka.cluster.ClusterActorRefProvider"
default-dispatcher {
throughput = 10
}
}
cluster {
roles = [commander]
}
remote {
log-remote-lifecycle-events = off
netty.tcp {
hostname = "127.0.0.1"
port = 0
}
}
akka.extensions=["akka.cluster.metrics.ClusterMetricsExtension"]
}
当我调试Commander 类的代码时,甚至没有在任何地方调用构造函数。当我省略 ClusterSingletonManager 并使用 Props 创建它时,它确实有效,但是将创建 Commander 演员。
我感觉到这个问题背后的配置不正确。大家对此有什么意见吗?
【问题讨论】:
标签: scala akka cluster-computing akka-cluster