Невозможно сформировать встроенный кластер Hazelcast в docker - PullRequest
0 голосов
/ 28 февраля 2020

Я пытаюсь сформировать реактивный кластер (не в стратегии развертывания клиент-сервер, а во встроенной).

Пробовал обнаружение как многоадресной, так и TCP, но все еще не удалось. когда я пытаюсь масштабировать несколько контейнеров, используя docker -композитный файл, оба контейнера появляются, но никогда не образуют кластер.

Я передаю информацию об элементе кластера в программе c.

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

1 Ответ

0 голосов
/ 28 февраля 2020

Вы пробовали hazelcast.local.publicAddress?

Jet использует ту же кластеризацию, что и IMDG, поэтому инструкции здесь https://hub.docker.com/r/hazelcast/hazelcast-jet должны помочь.

...