Payara-Hazelcast群集节点选择了错误的网络接口

Payara-Hazelcast群集节点选择了错误的网络接口,hazelcast,payara,Hazelcast,Payara,启动Payara群集时,其中一个节点绑定到错误的IP地址(本地安装在节点上的docker的内部IP地址) 让Payara集群实例节点知道它应该绑定到哪个地址的正确方法是什么 节点1日志: [2017-12-04T11:35:06.512+0800] [Payara 4.1] [INFO] [] [com.hazelcast.internal.cluster.impl.MulticastJoiner] [tid: _ThreadID=16 _ThreadName=RunLevelControlle

启动Payara群集时,其中一个节点绑定到错误的IP地址(本地安装在节点上的docker的内部IP地址)

让Payara集群实例节点知道它应该绑定到哪个地址的正确方法是什么

节点1日志:

[2017-12-04T11:35:06.512+0800] [Payara 4.1] [INFO] [] [com.hazelcast.internal.cluster.impl.MulticastJoiner] [tid: _ThreadID=16 _ThreadName=RunLevelControllerThread-1512358500010] [timeMillis: 1512358506512] [levelValue: 800] [[
[172.17.0.1]:5900 [dev] [3.8.5] 
Members [1] {
    Member [172.17.0.1]:5900 - 9be6669e-b853-44c0-9656-8488d3e1031b this
}
]]
节点2日志:

[2017-12-04T11:35:06.771+0800] [Payara 4.1] [INFO] [] [com.hazelcast.internal.cluster.impl.MulticastJoiner] [tid: _ThreadID=17 _ThreadName=RunLevelControllerThread-1512358500129] [timeMillis: 1512358506771 [levelValue: 800] [[
[10.4.0.86]:5900 [dev] [3.8.5] 
Members [1] {
    Member [10.4.0.86]:5900 - e3f9dd48-58b9-45f9-88fc-6b0feaedd78f this
}
]]
我已经测试了集群本身,它可以在只有一个接口(未安装docker)的机器上正常工作

我发现了与我的案例相关的问题,但无法在Payara群集设置中进行调整:

这意味着,建议使用本地属性:
-Dhazelcast.local.localAddress=[YourCorrectipGoesher]
-可以工作,但是在集群环境中,集中管理节点配置-我不知道如何为每个节点设置不同的JVM属性

通过“覆盖配置文件”提交自定义
hazelcast config.xml
可能是一个选项,但这意味着应通过该文件完成完整配置,这使得管理起来不是非常方便,但目前看来这是唯一可能有帮助的选项


谢谢

Payara服务器不直接公开此配置选项。使用系统属性hazelcast.local.localAddress是首选选项。但是,您不应该像使用JVM一样将其设置为JVM选项

-Dhazelcast.local.localAddress=...
而是使用管理控制台中的服务器页面添加系统属性。在属性选项卡上,转到系统属性选项卡,添加一个新属性,该属性的变量名为hazelcast.local.localAddress,并将覆盖值设置为要绑定到的接口的IP地址


这样,配置将在运行时应用,而无需任何服务器重新启动,如果还为集群实例设置了属性,则还应将配置传播到集群中的其他实例。对于这些实例,您可以转到每个实例的配置并在那里设置系统属性,而不是转到服务器页面。

非常感谢!这种解决方案正是我想要的!现在集群就像一个符咒一样工作!;)不客气:)没有多少人知道,从配置中读取系统属性的服务器也可以在运行时设置系统属性。尽可能传播知识;-)