我创建了一个群集
private static final String IP_CLUSTER = "192.168.0.116:5701";
Config cfg = new Config();
// set IP of cluster
cfg.getNetworkConfig().getJoin().getTcpIpConfig().addMember(IP_CLUSTER).setEnabled(true);
cfg.getNetworkConfig().getJoin().getMulticastConfig().setEnabled(false);
HazelcastInstance instance = Hazelcast.newHazelcastInstance(cfg);
现在我尝试使用hazelcast-client
连接此群集
HazelcastInstance clientInstance = null;
try {
ClientConfig cfg = new ClientConfig();
ClientNetworkConfig cnc = cfg.getNetworkConfig();
// ip of cluster that i want to connect
cnc.addAddress(IP_CLUSTER);
clientInstance = HazelcastClient.newHazelcastClient(cfg);
}
catch (Exception e) {
return;
}
当我尝试连接客户端时,我在输出
后成为客户端2017年6月19日下午8:19:51 com.hazelcast.core.LifecycleService 信息:[192.168.0.116]:5701 [dev] [3.7.8] [192.168.0.116]:5701 即将开始2017年6月19日下午8:19:56 com.hazelcast.nio.tcp.SocketAcceptorThread信息: [192.168.0.116]:5701 [dev] [3.7.8]接受来自的套接字连接 /192.168.0.116:60200六月19,2017 8:19:56 PM com.hazelcast.nio.tcp.TcpIpConnectionManager信息: [192.168.0.116]:5701 [dev] [3.7.8]建立套接字连接 介于/192.168.0.116:5701和/192.168.0.116:60200 2017年6月19日之间 晚上8:19:56 com.hazelcast.client.impl.protocol.task.AuthenticationMessageTask 信息:[192.168.0.116]:5701 [dev] [3.7.8]收到身份验证 连接[id = 1,/192.168.0.116:5701-> /192.168.0.116:60200, endpoint = null,alive = true,type = JAVA_CLIENT],成功 经过认证的校长: ClientPrincipal {UUID = 'adaf4c23-a708-489b-9480-dfc7edf960ce', ownerUuid ='02d591cc-b572-4e6e-8904-92bd0d8c3610'},所有者连接: true,客户端版本:3.7.8 Jun 19,2017 8:20:07 PM com.hazelcast.internal.partition.impl.PartitionStateManager 信息:[192.168.0.116]:5701 [dev] [3.7.8]初始化集群 分区表安排...
表示 - >新成员已连接到群集。这是对的吗?
但是当我要求群集上的成员数量时,它总是1
我哪里有错?
如何将新成员(HazelcastInstances
)添加到群集?
答案 0 :(得分:1)
正如您自己提到的,您将Hazelcast客户端连接到(单节点)群集。客户端只是一个客户端,而不是一个集群节点。想象它是连接到数据库的JDBC客户端。要扩展群集,您需要启动其他Hazelcast成员。
HazelcastInstance hz = Hazelcast.newHazelcastInstance(); // <- creates nodes
HazelcastInstance client = HazelcastClient.newHazelcastClient(); // <- creates a client
答案 1 :(得分:0)
它真的很难理解,但很多时候都是执行
private static final String IP_CLUSTER = "192.168.0.116:5701";
Config cfg = new Config();
// set IP of cluster
cfg.getNetworkConfig().getJoin().getTcpIpConfig().addMember(IP_CLUSTER).setEnabled(true);
cfg.getNetworkConfig().getJoin().getMulticastConfig().setEnabled(false);
HazelcastInstance instance = Hazelcast.newHazelcastInstance(cfg);
会有: