上下文
Hazelcast集群的两个节点,每个节点位于一个独立的子网上,因此多播不适用于节点定位.
我想使用最小的XML配置文件hazelcast.xml
来配置Hazelcast以使用TCP/IP连接两个节点.理想情况下,两个节点的IP地址的目录.
这个问题
Hazelcast文档很好地展示了如何以编程方式实现这一点,以及如何hazelcast.jar/hazelcast-default.xml
保持(可观的)默认配置.
不清楚的是:我提供的任何XML配置是否覆盖在其中的设置hazelcast-default.xml
- 或者仅仅用于替代?
Mar*_*wie 14
我有我的答案,并且想分享它们
就像编程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>
Run Code Online (Sandbox Code Playgroud)我不熟悉 hazelcast.conf 文件。
主要使用的是 XML 或 Programmatic api。有关好的示例,请参阅:
https://github.com/hazelcast/hazelcast-code-samples/tree/master/network-configuration
程序化示例:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
-- 不清楚的是:我提供的任何 XML 配置是否覆盖在 hazelcast-default.xml 中的设置上——或者只是代替它使用?
你的意思是?如果您使用编程 API,则其余部分无关紧要。如果在构造 HazelcastInstance 时未提供显式 Config 对象,则会使用默认机制。最终它默认为hazelcast-default.xml。
归档时间: |
|
查看次数: |
18433 次 |
最近记录: |