使用Infinispan在分布式缓存中物理分离2个节点

时间:2014-03-14 13:33:37

标签: tcp nodes distributed-caching infinispan jgroups

我需要实现分布式缓存。为此,我尝试使用Infinispan。

我有两个物理分离的节点。每个节点都位于服务器中,两台服务器可以成功相互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不是任何本地网络接口上的有效地址。

有关信息,目前我正在使用静态主方法创建节点。所以我不认为我需要涉及JBosss配置...

非常感谢你!

1 个答案:

答案 0 :(得分:2)

在BB节点上,你必须设置bind_addr XX.XX.BB.BB - 我假设你已经这样做了,尽管你没有提到两种配置。但是,可能,你犯了一些错误。

如果您不想保留两个配置文件,则可以在启动JVM时在命令行上设置bind_addr="${jgroups.tcp.address}"然后再使用-Djgroup.tcp.address=XX.XX.AA.AABB.BB