我需要实现分布式缓存 . 为此,我正在尝试使用Infinispan .
我有2个节点,它们是物理上分开的 . 每个节点都位于服务器中,2个服务器可以成功ping通 .
在配置文件“jgroups-tcp.xml”(JGroups)中,为了配置集群,我执行了以下操作:
<TCP
bind_addr="${jgroups.tcp.address:XX.XX.AA.AA}"
bind_port="${jgroups.tcp.port:7800}"
//...
/>
<TCPPING timeout="3000"
initial_hosts="XX.XX.AA.AA[7800],XX.XX.BB.BB[7801]"
port_range="5"
num_initial_members="2"
ergonomics="false"
/>
我评论了这个元素 .
使用此配置运行应用程序的工作在IP为 XX.XX.AA.AA
的计算机上,但不适用于其他计算机 XX.XX.BB.BB
,我收到此错误:
org.infinispan.commons.CacheException:java.net.BindException:[TCP] /XX.XX.AA.AA不是任何本地网络接口上的有效地址 .
有关信息,目前我正在使用静态main方法创建节点 . 所以我认为我不需要涉及JBosss配置......
非常感谢!
1 回答
在BB节点上,你必须设置bind_addr
XX.XX.BB.BB
- 我假设你已经这样做了,尽管你没有犯过一些错误 .如果您不想保留两个配置文件,则可以在启动JVM时在命令行上设置
bind_addr="${jgroups.tcp.address}"
然后再使用-Djgroup.tcp.address=XX.XX.AA.AA
(BB.BB
) .