我正在使用类型安全的akka分布式工作模板。我正在用它来编写一个后端作业,它使用肥皂调用和mongo中的插入从siebel获取数据。这项工作应该每周运行一次,持续几个小时。
基于AKKA网站上的群集使用和其他文档,我导入了akka-cluster.jar并使用SEED节点(akka.cluster.seed-nodes)配置了应用程序配置文件。但是当我用我提到的配置(种子节点等)启动第一个节点(MASTER NODE)时,我开始在服务器控制台上收到错误,说明未能加入种子节点这是显而易见的(因为它是第一个节点,并且有什么都没有加入)。现在我启动第二个节点,其中akka.cluster.seed-nodes配置了主节点正在运行的进程的ip-address和端口。我再次在服务器控制台上获取错误。
现在我接下来要做的是 - 从MASTER NODE获取主actor的第一个连接地址,并在代码中的slave节点中动态设置它(构造一个Address对象并将其传递给slave节点上的actor) 。这个工作!!!如果我在应用程序配置akka.cluster.seed-nodes中使用相同的连接地址并对其进行配置,则会引发错误,并且slave不会加入群集。
所以我有以下问题: - 1.如何在应用程序中配置akka.cluster.seed-node配置。我永远无法让它在配置中工作/计数。 2.有没有办法在配置中预配置种子节点。根据我的尝试,看起来配置是动态的,即从日志中获取主节点上的actor的连接地址,并使用该地址配置从属的种子节点配置?
答案 0 :(得分:1)
我遇到了类似的问题,这些问题是种子节点配置中的actor系统名称与我的代码中创建的实际actor系统名称不匹配的结果。