【发布时间】:2020-02-28 12:25:14
【问题描述】:
我正在尝试形成一个喷气机集群(不是在客户端-服务器部署策略中,而是嵌入式)。
尝试了多播和 TCP 发现,但仍然不成功。当我尝试使用 docker-compose 文件扩展多个容器时,两个容器都会出现但从未形成集群。
我正在以编程方式传递集群成员信息。
JetConfig cfg = new JetConfig();
Configuration jsonObject = getJetConfigs();
cfg.getHazelcastConfig().getNetworkConfig().setPortAutoIncrement(true);
cfg.getHazelcastConfig().getNetworkConfig().setPort(jsonObject.getInteger("port"));
if(jsonObject.getBoolean("multicastEnabled")){
LOGGER.info("multicast is enabled");
cfg.getHazelcastConfig().getNetworkConfig().getJoin().getTcpIpConfig().setEnabled(false);
cfg.getHazelcastConfig().getNetworkConfig().getJoin().getMulticastConfig().setEnabled(true);
cfg.getHazelcastConfig().getNetworkConfig().getJoin().getMulticastConfig().setMulticastGroup(jsonObject.getString("multicastGroup"));
cfg.getHazelcastConfig().getNetworkConfig().getJoin().getMulticastConfig().setMulticastPort(jsonObject.getInteger("multicastPort"));
}
if(jsonObject.getBoolean("tcpIpEnabled")){
LOGGER.info("TcpIP is enabled");
cfg.getHazelcastConfig().getNetworkConfig().getJoin().getMulticastConfig().setEnabled(false);
cfg.getHazelcastConfig().getNetworkConfig().getJoin().getTcpIpConfig().setEnabled(true);
String tcpIpMembers = jsonObject.getString("tcpIpMemberList");
List<String> tcpIpMemberList = tcpIpMembers != null ? Arrays.asList(tcpIpMembers.split(",")) : Collections.emptyList();
LOGGER.info("trying for members {}", tcpIpMemberList);
cfg.getHazelcastConfig().getNetworkConfig().getJoin().getTcpIpConfig().setMembers(tcpIpMemberList);
}
容器 1 日志
Feb 28, 2020 1:53:31 AM com.hazelcast.cluster.impl.TcpIpJoiner
INFO: [172.19.0.3]:5701 [jet] [3.1] [172.18.0.4]:5703 is added to the blacklist.
Feb 28, 2020 1:53:32 AM com.hazelcast.internal.cluster.ClusterService
INFO: [172.19.0.3]:5701 [jet] [3.1]
Members {size:1, ver:1} [
Member [172.19.0.3]:5701 - 6482ff63-1d76-4029-98bb-562fc094e44e this
]
Feb 28, 2020 1:53:32 AM com.hazelcast.core.LifecycleService
INFO: [172.19.0.3]:5701 [jet] [3.1] [172.19.0.3]:5701 is STARTED
容器 2 日志
Feb 28, 2020 1:54:30 AM com.hazelcast.internal.cluster.ClusterService
INFO: [172.18.0.4]:5701 [jet] [3.1]
Members {size:1, ver:1} [
Member [172.18.0.4]:5701 - 9a655237-c8fb-48c5-a57e-39b9ea877ccb this
]
Feb 28, 2020 1:54:30 AM com.hazelcast.core.LifecycleService
INFO: [172.18.0.4]:5701 [jet] [3.1] [172.18.0.4]:5701 is STARTED
【问题讨论】:
标签: docker docker-compose docker-swarm hazelcast hazelcast-jet