以下是文档中给出的HazelCast编程配置,但无法在HazelCast集群中添加成员。
Config cfg = new Config();
Hazelcast.newHazelcastInstance(cfg);
cfg.setProperty("hazelcast.initial.min.cluster.size","3");
cfg.getGroupConfig().setName("DEV").setPassword("DEV-pass");
NetworkConfig network = cfg.getNetworkConfig();
JoinConfig join = network.getJoin();
TcpIpConfig tcpipConfig=join.getTcpIpConfig();
tcpipConfig.addMember("172.17.153.87").addMember("10.45.67.100")
.setRequiredMember("192.168.10.100").setEnabled(true);
network.getInterfaces().setEnabled(true).addInterface("10.45.67.*");
System.out.println(tcpipConfig.isEnabled());
System.out.println(tcpipConfig.getMembers());
MapConfig mapCfg = new MapConfig();
mapCfg.setName("testMap");
mapCfg.setBackupCount(2);
mapCfg.getMaxSizeConfig().setSize(10000);
mapCfg.setTimeToLiveSeconds(300);
MapStoreConfig mapStoreCfg = new MapStoreConfig();
mapStoreCfg.setClassName("com.hazelcast.examples.DummyStore").setEnabled(true);
mapCfg.setMapStoreConfig(mapStoreCfg);
NearCacheConfig nearCacheConfig = new NearCacheConfig();
nearCacheConfig.setMaxSize(1000).setMaxIdleSeconds(120).setTimeToLiveSeconds(300);
mapCfg.setNearCacheConfig(nearCacheConfig);
cfg.addMapConfig(mapCfg);
请看看代码,如果需要进一步修改任何东西,让我添加成员到Hazelcast集群
在视窗下,黑兹尔卡斯特的开箱即用配置(空Config
)刚刚工作。
我只需要并行启动我的Java程序多次,黑兹尔卡斯特节点就发现了彼此。
在Linux下,这更为棘手:下面是一个工作示例—只需并行运行多个实例即可。
import java.util.*;
import com.hazelcast.config.*;
import com.hazelcast.core.*;
public class NewClass {
public static void main(String[] args) {
Config config = new Config();
config.getNetworkConfig().setPublicAddress("127.0.0.1")
.setPort(7771).setPortAutoIncrement(true);
JoinConfig join = config.getNetworkConfig().getJoin();
join.getMulticastConfig().setEnabled(false);
join.getAwsConfig().setEnabled(false);
join.getTcpIpConfig().setEnabled(true).setMembers(
Arrays.asList(
"127.0.0.1:7771",
"127.0.0.1:7772",
"127.0.0.1:7773"));
HazelcastInstance h = Hazelcast.newHazelcastInstance(config);
}
}
第三次执行后的输出:
[snip]
Members [3] {
Member [127.0.0.1]:7771 - 18f5aada-6f00-4077-814e-337517d5c1eb
Member [127.0.0.1]:7772 - e9e2e7fd-e2fe-4c56-80c5-6b499d07b2b9
Member [127.0.0.1]:7773 - 14fd377c-69fd-4c69-a9b8-086dd1cd7857 this
}
[snip]
添加此行以关闭多播以支持TCP,
加入。getMulticastConfig()。setEnabled(假)
把这条线移到最后,
Hazelcast。纽黑泽尔卡斯特实例(cfg)
您应该在构建实例之前完成配置。
问题内容: 以下是文档中给出的HazelCast程序配置,但无法在HazelCast群集中添加成员。 请查看代码,如果需要进一步修改以将成员添加到hazelcast集群,请让我看看 问题答案: 添加此行以关闭多播以支持TCP, 将此行移到最后, 您应该在构建实例之前完成配置。
我正在做hazelcast监控服务,我需要为每个集群成员添加客户名称,以了解哪个模块不在集群中。 我想要成员的常量名称,而不是 这能做到吗?
我定义了“静态”hazelcast配置: 其中“10.0.0.2”是我的localhostip。我只希望将hazelcast的一个实例添加到我的tcpIpConfig成员中。我的朋友坐在同一个网络中,拥有编号为“10.0.0.3”的IP。他懒得从git上共享的属性文件中更改密码和组名,并且正在连接到我的集群。为什么他能够连接到我的集群?我如何防止这种情况?
我正在进行一个Spring启动项目,我使用Hazelcast作为缓存。我启用了tcp作为连接方法,我还提到了一些成员。会员可以加入。但问题是其他节点也可以加入除了成员。有人能告诉我如何限制它吗? 这是我的配置,
我的Spring应用程序由十几个微服务组成。每个微服务都提供数据,这些数据并不经常变化。为了减少微服务之间的通信,我正在考虑开始使用Hazelcast。 我的想法是每个微服务都嵌入了Hazelcast。微服务在同一个网络中运行,我认为Hazelcasts将形成一个集群。每个微服务都会在启动时将其数据放入本地Hazelcast中,并将数据复制到集群中的每个其他Hazelcast中。当一个微服务需要从
我使用的是Hazelcast 3.12。5我想知道我们是否可以在偶数个节点上运行hazelcast群集,或者需要/首选奇数个节点。如果我运行奇数个节点,是否会出现大脑分裂问题或类似情况/大脑分裂的可能性增加。 这可能是最基本的,但我想确定——我想从社区了解一些真实世界的经验。我不希望在四个节点足以完成任务的情况下,从三个节点增加到五个节点会产生成本,但同时,如果我们使用大小均匀的集群会有任何缺点,
问题内容: 我们正在更改应用程序之一以使用Hazelcast 3.11 Community Edition,并在运行于少数主机上的多个JVM之间进行一些锁定。我们按照如下语法配置集群: 所有工作正常,并且群集已正确创建并按预期工作。 但是,我创建了一个单元测试并为本地集群配置了与应用程序使用的名称相同的名称,然后将开发人员计算机添加到其中。一切正常,我的本地主机没有任何问题地加入了应用程序集群。
我们正在将一个应用程序更改为使用Hazelcast 3.11 Community Edition,并在几个主机上运行的多个JVM之间执行一些锁定。我们按照如下语法配置集群: 所有这些都可以正常工作,集群可以正常创建并按预期工作。 但是,我创建了一个单元测试,并配置了一个与应用程序使用的名称相同的本地集群,然后将我的开发人员机器添加到其中。一切正常,我的本地主机加入了应用程序集群,没有任何问题。 当