我们有以下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发现的任何区别。
1条答案
按热度按时间f0brbegy1#
默认情况下,Hazelcast中使用多播发现。请尝试切换到
tcp-ip
发现。而且你的日志信息似乎不是Hazelcast的原创信息。通常你会看到这样的信息: