Сервер не может присоединиться к кластеру hazelcast с включенной многоадресной рассылкой?

#spring-boot #hazelcast

Вопрос:

У меня есть один и тот же серверный проект hazelcast, работающий на 3 разных серверах, два из них могут сформировать кластер, но третий сервер не присоединяется.

Я создал серверный проект hazelcast с помощью spring-boot

Вот моя конфигурация springboot hazelcast.

 @Bean
public Config hazelCastConfig() {
    Config config = new Config();
    config.getNetworkConfig().setPortAutoIncrement(true);
    config.setClusterName("myHazelcastStore");
    NetworkConfig network = config.getNetworkConfig();
    JoinConfig join = network.getJoin();
    join.getMulticastConfig().setEnabled(true);
    return config;
}

@Bean
public HazelcastInstance hazelcastInstance(Config hazelCastConfig) {
    return Hazelcast.newHazelcastInstance(hazelCastConfig);
}

@Bean
public Map<String, EmployeeAccount> employeeMap(HazelcastInstance hazelcastInstance) {
    return hazelcastInstance.getMap("employeeMap");
}
 

Я использую последнюю стабильную версию hazelcast IMDG v4.2.2.

Я включил многоадресную рассылку в конфигурации hazelcast

Мой IP-адрес для трех серверов::

 192.168.1.10
192.168.1.25
192.168.34.122
 

Здесь два находятся в одной серии, а один отличается. Не в этом ли причина

Или есть какие-либо ограничения в бесплатной версии hazelcast, поскольку только 2 сервера могут образовывать кластер?

Пожалуйста, помогите, Спасибо!!

Комментарии:

1. Размер кластера не ограничен. Вы можете попробовать использовать TcpIpConfig с тремя указанными выше IP-адресами? Это поможет подтвердить, могут ли машины в целом разговаривать друг с другом.

2. @NeilStevenson с этим тоже не работал, я уже пробовал это раньше.

Ответ №1:

В бесплатной версии Hazelcast с открытым исходным кодом нет никаких ограничений. Вы можете создать такой большой кластер, какой захотите.

Что касается вашей проблемы, многоадресная рассылка должна работать правильно. Если это не так, я бы проверил следующие части:

  1. Попробуйте использовать статическую конфигурацию TCP/IP (если она не работает, то это проблема подключения, а не проблема обнаружения).
  2. Если TCP/IP работает, то следующее, что нужно проверить, — работают ли многоадресные пакеты в вашей сети (иногда они могут быть заблокированы).
  3. Если у вас все еще есть проблема, не могли бы вы прикрепить журналы Hazeclast?

Комментарии:

1. Многоадресная рассылка часто не работает в разных подсетях. У вас есть 192.168.1 и 192.168.34 в качестве подсетей.

2. @NeilStevenson В качестве последующего вопроса: безопасно ли использовать многоадресную рассылку или мы всегда должны отдавать предпочтение tcp/ip

3. Вы должны предпочесть TCP/IP или некоторые из плагинов обнаружения. Узнайте больше здесь: docs.hazelcast.com/imdg/4.2/clusters/discovery-mechanisms.html