配置两节点hazelcast群集-避免多播

配置两节点hazelcast群集-避免多播,hazelcast,Hazelcast,上下文 Hazelcast群集的两个节点,每个节点位于一个离散子网上,因此多播不适合也不适用于节点位置 我想使用最简单的XML配置文件,比如说hazelcast.XML,将hazelcast配置为使用TCP/IP连接两个节点。理想情况下,两个节点的IP地址目录 问题 Hazelcast文档很好地展示了如何以及如何Hazelcast.jar/Hazelcast default.xml保存(相当多的)默认配置 不清楚的是:我提供的任何XML配置是覆盖在hazelcast default.XML中

上下文

  • Hazelcast群集的两个节点,每个节点位于一个离散子网上,因此多播不适合也不适用于节点位置

  • 我想使用最简单的XML配置文件,比如说
    hazelcast.XML
    ,将hazelcast配置为使用TCP/IP连接两个节点。理想情况下,两个节点的IP地址目录

问题

Hazelcast文档很好地展示了如何以及如何
Hazelcast.jar/Hazelcast default.xml
保存(相当多的)默认配置


不清楚的是:我提供的任何XML配置是覆盖在
hazelcast default.XML
中的设置上,还是仅仅用于替代它?

我不熟悉hazelcast.conf文件

主要使用的是XML或编程api。有关良好示例,请参见:

编程的示例:

public class Main {

    public static void main(String[] args){
        Config config = new Config();
        config.getNetworkConfig().getJoin().getTcpIpConfig().addMember("localhost").setEnabled(true);
        config.getNetworkConfig().getJoin().getMulticastConfig().setEnabled(false);
        HazelcastInstance hz = Hazelcast.newHazelcastInstance(config);
    }
}
-- 不清楚的是:我提供的任何XML配置是覆盖在hazelcast-default.XML中的设置上,还是仅仅用于替代


你什么意思?如果您使用编程API,其余的就不相关了。如果在构造HazelcastInstance时未提供显式配置对象,则会使用默认机制。最终它默认为hazelcast default.xml。

我有两个答案,希望与大家分享

  • 与programatic API一样,XML配置覆盖了
    hazelcast.jar/hazelcast default.XML
    中的默认值,因此

  • 我可以用类路径中的
    hazelcast.xml
    建立一个非常简单的两人集群

    <hazelcast>
      <network>
        <join>
          <multicast enabled="false"></multicast>
          <tcp-ip enabled="true">
            <member>192.168.100.001</member> <!-- server A -->
            <member>192.168.102.200</member> <!-- server B, on separate subnet -->
          </tcp-ip>
        </join>
      </network>
    
    </hazelcast>
    
    
    192.168.100.001 
    192.168.102.200 
    

  • 我们是否可以定义没有硬编码IP地址的成员(仅使用负载平衡器IP)?我需要它,因为我的节点集会不断更改。