1

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

我有 2 个节点,它们在物理上是分开的。每个节点位于一个Server中,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 配置......

十分感谢!

4

1 回答 1

2

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

如果您不想保留两个配置文件,您可以在启动 JVM 时在命令行中分别设置bind_addr="${jgroups.tcp.address}"并使用-Djgroup.tcp.address=XX.XX.AA.AA( )。BB.BB

于 2014-03-17T08:09:25.347 回答