根据hazelcast文章http://docs.hazelcast.org/docs/2.4/manual/html/ch12s02.html在hazelcast.xml中添加了另一台PC的主机名,该主机名在SERVICEMIX_HOME / etc中生成,如下所示。
<tcp-ip enabled="true">
<hostname>FABLRDT061:5702</hostname>
<interface>127.0.0.1</interface>
</tcp-ip>
如果我启动servicemix,由于以下连接拒绝,它无法连接到我指定的主机名。其他电脑中的日志信息如下
[172.16.25.64]:5702 [cellar] 5702 is accepting socket connection from /172.16.25.71:60770
[172.16.25.64]:5702 [cellar] 5702 accepted socket connection from /172.16.25.71:60770
[172.16.25.64]:5702 [cellar] Wrong bind request from Address[127.0.0.1]:5701! This node is not requested endpoint: Address[FABLRDT061]:5702
[172.16.25.64]:5702 [cellar] Connection [/172.16.25.71:60770] lost. Reason: Explicit close
可能是什么原因?有人可以帮帮我吗?
答案 0 :(得分:1)
Hazelcast是配置文件,使用它可以配置节点的发现。
尽管教程解释了以下几点, 根据我的动手,我理解
多播用于在同一系统中自动发现地窖节点。
如果通过网络在不同系统中存在地窖节点,我们使用tcp-ip配置。
对于多播,我们不需要改变任何东西,直到我们编写不同的多播组。
为了使用tcp-ip发现节点,我们需要指定ipaddresses(正如许多教程所解释的那样但不完全是如何。
在tcp-ip
标记下创建一个名为hostname
的标记,其中应提及其他系统或ipaddress的主机名。在interface
标记中,指定当前系统的ipaddress。
同样在其他节点中也应该这样做。
答案 1 :(得分:1)
我会远离使用主机名,但用ip地址替换它。