当前位置: 首页 > 知识库问答 >
问题:

Singleton cluster actor未启动

宗政霄
2023-03-14

以下集群单例未启动。

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-runing-ClusterSuite][akka.remote.远程处理]开始远程处理[INFO][08/03/2016 11:43:59.007][ScalaTest-run-runing-ClusterSuite][akka.remote.远程处理]远程处理开始;监听地址:[akka.tcp://galaxyFarFarAway@127.0.0.1: 59592][INFO][08/03/2016 11:43:59.035][ScalaTest-run-run-ClusterSuite][akka.cluster.Cluster(akka://galaxyFarAway)]Cluster Node[akka.tcp://galaxyFarFarAway@127.0.0.1: 59592]-开始...[INFO][08/03/2016 11:43:59.218][ScalaTest-run-runing-ClusterSuite][akka.cluster.Cluster(akka://galaxyFarFarAway)]Cluster Node[akka.tcp://galaxyFarFarAway@127.0.0.1: 59592]-注册集群JMX MBean[akka: type=Cluster][INFO][08]/03/201611:43:59.218][ScalaTest-run-runing-ClusterSuite][akka.cluster.Cluster(akka://galaxyFarAway)]Cluster Node[akka.tcp://galaxyFarFarAway@127.0.0.1: 59592]-启动成功[INFO][08/03/2016 11:43:59.247][galaxyFarAway]way-akka.actor.default-调度器-2][akka.cluster.群集(akka://galaxyFarAway)]群集节点[akka.tcp://galaxyFarFarAway@127.0.0.1: 59592]-指标将从MBeans中撤回,并且在某些平台上可能不正确。要提高度量精度,请将sigar.jar添加到类路径,并将适当的特定于平台的本机库添加到java。原因:java. lang.ClassNotFoundExcema: org. Hybiic. sigar.Sigar[INFO][08/03/2016 11:43:59.257][galaxyFarAway-akka. actor. default-调度员-2][akka. cluster.Cluster(akka://galaxyFarAway)]Cluster Node[akka. tcp://galaxyFarFarAway@127.0.0.1: 59592]-指标收集已成功启动[INFO][08/03/2016 11:43:59.268][galaxyFarAway-akka. actor. default-调度器-3][akka. cluster.集群(akka://galaxyFarFarAway)]集群节点[akka. tcp://galaxyFarFarAway@127.0.0.1: 59592]-未配置种子节点,需要手动集群连接与目标虚拟机断开连接,地址:'127.0.0.1:59574',传输:'套接字'

配置为:

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角色。我感觉到这个问题背后的配置不正确。你们有什么意见吗?

共有1个答案

公良云
2023-03-14

您感觉非常正确:您没有为Akka集群指定种子节点配置。您可以在日志的最后一行看到:

[akka.tcp://galaxyFarFarAway@127.0.0.1: 59592]-未配置种子节点,需要手动集群连接与目标VM断开连接,地址:'127.0.0.1:59574',传输:'套接字'

因为您没有在配置文件中指定任何种子节点,Akka将等待您以编程方式指定种子节点。您可以像这样在html" target="_blank">配置中指定种子节点:

akka.cluster.seed-nodes = [
  "akka.tcp://yourClusterSystem@127.0.0.1:2551",
  "akka.tcp://yourClusterSystem@127.0.0.1:2552"
]

或者,可以调用joinSeedNodes方法以编程方式加入集群。在这两种情况下,都必须指定至少一个可用的种子节点。参与者系统本身也可以充当种子节点。

一旦指定了种子节点并且actor系统加入集群,Akka特性将根据集群(集群单例、分片等)启动。这就是为什么你可以推出一个普通演员,而不是单身演员。

有关设置种子节点的更多信息,请参阅Akka群集文档。

 类似资料:
  • 在整个评估过程中使用JxBrowser,效果非常好。现在,我一启动它就突然不起作用了。我在Mac OS X 10.11上运行,但我也在Windows上测试过,仍然不起作用。我的构建路径中有两个操作系统所需的库。这就是我得到的(在Mac OS X上运行):

  • 我很难在服务器重新引导时重新启动pm2(它本身和两个节点/express文件,&)。 下面是我尝试的过程: 我在所有可能的组合中运行了上面的命令,但没有任何工作。我试着以根用户的身份运行,但也不起作用。 我的文件包含信息,所以我不知道还可以在哪里查找。 我尝试的其他参考资料... http://pm2.keymetrics.io/docs/usage/startup/ https://www.di

  • 经过一番努力,我最终成功地在伪分布式节点中使用了hadoop,和工作正常(和) 昨天,我尝试用以下方法重新启动、等: 给出以下输出: Namenode似乎不愿意再启动了...几秒钟后Jobtracker就死了。 mapred-site.xml:

  • 我最近安装了Netbeans 7.2测试版,效果很好。然后,我在beta版的基础上安装了Netbeans 7.2最终版本,在安装过程中,Netbeans 7.1和Netbeans 7.12都在那里。现在,当我启动Netbeans时,它并没有超出“加载模块”阶段。只需在启动几秒钟后,Netbeans屏幕就会消失。然后我做了以下事情。 卸载所有Netbean版本并重新安装Netbean 7.2 已删除

  • krish@krish-virtualbox:~$start-dfs.sh 14/10/20 13:16:16警告util.nativeCodeLoader:无法为您的平台加载本机Hadoop库...在适用的情况下使用内置Java类 正在[localhost]上启动名称代码 我只想知道在里面所有的东西是不是都很完美。我在清单中没有看到Datanode。

  • 我是storm的新手,当我提交拓扑主管日志时 配置是 zookeeper的版本为 结果喷口不能发出消息和螺栓也有什么我可以分享它来解决这个问题吗?谁能帮忙?!