#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 с открытым исходным кодом нет никаких ограничений. Вы можете создать такой большой кластер, какой захотите.
Что касается вашей проблемы, многоадресная рассылка должна работать правильно. Если это не так, я бы проверил следующие части:
- Попробуйте использовать статическую конфигурацию TCP/IP (если она не работает, то это проблема подключения, а не проблема обнаружения).
- Если TCP/IP работает, то следующее, что нужно проверить, — работают ли многоадресные пакеты в вашей сети (иногда они могут быть заблокированы).
- Если у вас все еще есть проблема, не могли бы вы прикрепить журналы 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