在我们的系统中,我们有一个由2个节点组成的Hazelcast集群。 Hazelcast拒绝连接其他成员。 原因可能是什么?
在日志文件中,我看到:
2017-10-13 17:39:25,419 [T:B_Hazelcast.IO.thread-Acceptor, C:] INFO c.h.n.tcp.SocketAcceptorThread | [10.15.162.50]:5701 [ESB_Hazelcast] [3.7.2] **Accepting socket connection** from /10.15.162.51:33497
2017-10-13 17:39:25,420 [T:_ESB_Hazelcast.cached.thread-5, C:] INFO c.h.n.t.TcpIpConnectionManager | [10.15.162.50]:5701 [ESB_Hazelcast] [3.7.2] **Established socket connection** between /10.15.162.50:5701 and /10.15.162.51:33497
2017-10-13 17:39:25,428 [T:ity-generic-operation.thread-0, C:] INFO c.h.c.i.p.t.AuthenticationMessageTask | [10.15.162.50]:5701 [ESB_Hazelcast] [3.7.2] Received auth from Connection[id=12, /10.15.162.50:5701->/10.15.162.51:33497, endpoint=null, alive=true, type=JAVA_CLIENT], **successfully authenticated**, principal : ClientPrincipal{uuid='39851f2a-cc6e-4bbb-be33-603352b2aaa6', ownerUuid='126694e3-daee-4999-8afc-870f1cd9da2e'}, owner connection : true
2017-10-13 17:39:25,512 [T:ity-generic-operation.thread-0, C:] WARN
c.h.c.i.o.ClientReAuthOperation | [10.15.162.50]:5701 [ESB_Hazelcast] [3.7.2] com.hazelcast.spi.exception.**CallerNotMemberException: Not Member!** this: [10.15.162.50]:5701, caller: [10.15.162.51]:5701, partitionId: -1, operation: com.hazelcast.client.impl.operations.ClientReAuthOperation, service: hz:core:clientEngine
服务器使用
进行实例化public static HazelcastInstance createServer(Environment env) {
com.hazelcast.config.Config hazelcastConfig = new com.hazelcast.config.Config();
final String clusterName = env.getProperty("core.hazelcast.clusterName");
hazelcastConfig.getGroupConfig().setName(clusterName);
hazelcastConfig.getGroupConfig().setPassword(env.getProperty("core.hazelcast.clusterPassword"));
JoinConfig joinConfig = hazelcastConfig.getNetworkConfig().getJoin();
joinConfig.getMulticastConfig().setEnabled(false);
joinConfig.getTcpIpConfig().setEnabled(true);
final String members = env.getProperty("core.hazelcast.members");
//Here it comes!!!
if (!StringUtils.isEmpty(members)) {
joinConfig.getTcpIpConfig().addMember(members);
}
hazelcastConfig.setProperty(GroupProperty.LOGGING_TYPE.getName(), "slf4j");
return new HazelcastLifecycleBean(Hazelcast.newHazelcastInstance(hazelcastConfig));
}
在配置文件中
core.hazelcast.members=10.15.162.50,10.15.162.51
这会传递给joinConfig.getTcpIpConfig().addMember
有什么想法吗?
答案 0 :(得分:0)
请将端口指定为您的 tcp 成员地址的一部分。代替 core.hazelcast.members=10.15.162.50,10.15.162.51 使用 core.hazelcast.members=10.15.162.50:5701,10.15.162.51:5701