Hazelcast无法发现Linux中的其他节点

8fsztsew  于 2022-11-02  发布在  Linux
关注(0)|答案(1)|浏览(240)

我们有以下Hazelcast.xml文件
`

<?xml version="1.0" encoding="UTF-8"?>
<hazelcast xmlns="http://www.hazelcast.com/schema/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.hazelcast.com/schema/config http://www.hazelcast.com/schema/config/hazelcast-config-3.11.xsd">
   <management-center enabled="false">http://localhost:8080/hazelcast-mancenter</management-center>
   <instance-name>DistributedCache</instance-name>
   <properties>
      <property name="hazelcast.logging.type">log4j2</property>
   </properties>
   <network>
      <interfaces enabled="true">
         <interface>10.5.167.*</interface>
      </interfaces>
   </network>
</hazelcast>

我们有两个不同的服务器.10.11。当两个服务器中的应用程序都启动时,在端口5701上形成了一个群集。下面是两个服务器中的日志输出。 服务器.10日志Local member in cluster: Member [10.5.167.10]:5701 Non local members in cluster: [] Cluster size: 1服务器.11日志Local member in cluster: Member [10.5.167.11]:5701 Non local members in cluster: [] Cluster size: 1`
可以看出,Hazelcast无法发现其他服务器中的节点(非本地成员为空)。两者之间没有防火墙,端口5701上也有完全连接。我们可以在两台服务器之间进行telnet。此外,在Windows中,我们可以观察到它们可以找到彼此。但在Linux中却没有。这就引出了一个问题,我们是否遗漏了什么?
此外,在文档中没有提到在Linux上使用tcp/ip Hazelcast发现与在Windows上使用tcp/ip Hazelcast发现的任何区别。

f0brbegy

f0brbegy1#

默认情况下,Hazelcast中使用多播发现。请尝试切换到tcp-ip发现。

<network>
        <join>
            <multicast enabled="false"/>
            <tcp-ip enabled="true">
                <member-list>
                    <member>10.5.167.10</member>
                    <member>10.5.167.11</member>
                </member-list>
            </tcp-ip>
        </join>
   </network>

而且你的日志信息似乎不是Hazelcast的原创信息。通常你会看到这样的信息:

Oct 27, 2022 8:40:53 AM com.hazelcast.internal.cluster.ClusterService
INFO: [10.5.167.10]:5701 [dev] [3.12.6] 

Members {size:2, ver:2} [
    Member [10.5.167.10]:5701 - 36651420-f623-4ac0-adc7-73326fba9fa8 this
    Member [10.5.167.11]:5701 - f41c88f0-4e7a-466d-897a-b222effe19d2
]

相关问题