Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在多节点docker环境中形成Hazelcast cluser_Docker_Hazelcast - Fatal编程技术网

无法在多节点docker环境中形成Hazelcast cluser

无法在多节点docker环境中形成Hazelcast cluser,docker,hazelcast,Docker,Hazelcast,我们有一个基于Springboot的Java webapp,其中包括hazelcast。我们在迁移到Docker环境时面临问题。我想我在Docker网络上遗漏了一些东西。我确实尝试了中提到的选项,但不起作用。我们使用普通的hazelcast.xml jdk 假的 假的 假的 关 ${hazelcast.ip} 15 30 15 60 发展 开发通行证 ${hazelcast.ip} 5701 0 16 0 HostIP Docker容器IP 10.151.16.27

我们有一个基于Springboot的Java webapp,其中包括hazelcast。我们在迁移到Docker环境时面临问题。我想我在Docker网络上遗漏了一些东西。我确实尝试了中提到的选项,但不起作用。我们使用普通的hazelcast.xml

jdk 假的 假的 假的 关 ${hazelcast.ip} 15 30 15 60 发展 开发通行证


${hazelcast.ip}
5701
0
16
0

HostIP Docker容器IP
10.151.16.27 10.42.236.108 10.151.16.209 10.42.152.56

旅社1 ip路由输出 默认通过10.42.0.1 dev eth0 10.42.0.0/16 dev eth0 src 10.42.236.108 169.254.169.250通过10.42.0.1 dev eth0

主持人2 ip路由输出 默认通过10.42.0.1 dev eth0 10.42.0.0/16开发eth0 src 10.42.152.56 169.254.169.250通过10.42.0.1 dev eth0

我通过将容器IP注入hazelcast.IP环境变量来启动docker。集群没有形成


如果我在这里遗漏了什么,请告诉我。

不确定hazelcast.ip env变量是什么意思,但XML文件中似乎没有任何成员。@noctarius:我指的是${hazelcast.ip}。此外,每当我启动docker容器IP时,它们都会发生变化。即使我在查看IP后对它们进行硬编码,它也不起作用。因此,我将其留白,希望回退将是自动发现。它无法自动发现,因为您启用了TCP。什么是部署环境?是否有可用的服务发现?看看链接的stackoverflow问题,看起来他们已经构建了一些定制的东西来提供hazelcast.ip,当然这不是默认可用的标准属性。它是一个基于微服务的体系结构,具有基于docker的部署。J2EE webapp(带有hazelcast)的每个实例都部署在一个单独的docker容器上。在问题中提到的示例中,我使用了两个容器,每个容器都是不同的主机。请注意,当两个容器部署在同一台主机上时,安装工作正常。这听起来更像是覆盖网络层的docker特定问题,正如您在同一台主机上所说,它工作正常。如果只是查找其他IP地址,那么您很可能需要一个类似于Eureka、etcd或类似的发现机制。
<network>
    <public-address>${hazelcast.ip}</public-address>
    <port auto-increment="true" port-count="100">5701</port>
    <outbound-ports>
        <ports>0</ports>
    </outbound-ports>
    <join>
        <multicast enabled="false"></multicast>
        <tcp-ip enabled="true">
            <member-list>
            </member-list>
        </tcp-ip>
    </join>
</network>
<partition-group enabled="false" />
<executor-service name="default">
    <pool-size>16</pool-size>
    <!--Queue capacity. 0 means Integer.MAX_VALUE. -->
    <queue-capacity>0</queue-capacity>
</executor-service>