Можно ли изменить элементы кластера Hazelcast во время выполнения - PullRequest
0 голосов
/ 22 апреля 2020

Существует кластер hazelcast из 4 виртуальных машин.

Можно ли изменить его член на localhost во время работы (без перезапуска)? т.е. теперь все 4 виртуальные машины будут работать с 127.0.0.1:5701 и наоборот. Все 4 виртуальные машины работают с локальным хостом и во время выполнения переносят их в кластер.

Путем запуска какого-либо события и выполнения следующего оператора: hazelcastInstance.getConfig().getNetworkConfig().getJoin().getTcpIpConfig().setMembers(members)

Если да, как это повлияет? когда запросы обрабатываются с использованием кэшированных данных Hazelcast.

1 Ответ

1 голос
/ 22 апреля 2020

В большинстве случаев все настройки должны быть установлены до запуска кластера, и изменения, внесенные в конфигурацию во время работы кластера, не вступят в силу.

(Исключение: существуют некоторые изменения конфигурации структуры данных, которые можно добавить в работающий кластер; см. Раздел «Конфигурация» в справочном руководстве, чтобы узнать, как динамически добавлять конфигурацию).

Итак, вы не может изменить конфигурацию так, как вы показываете.

Однако, в зависимости от того, как конфигурация была настроена в кластере, вы можете добавить дополнительные элементы, если они соответствуют критериям, первоначально установленным для присоединиться к конфигурации. Поэтому, если localhost соответствует критериям раздела конфигурации tcpip элемента join, вы можете запустить один или несколько узлов на localhost, и они присоединятся к кластеру. И когда они запущены, вы можете отключать не-localhost члены по одному, пока единственными работающими узлами не станут узлы на localhost. Когда каждый узел выключен, его данные будут мигрировать на оставшиеся узлы, которые в конечном итоге будут все на локальном хосте.

В каждый момент времени Hazelcast будет отвечать на запросы на основе текущего набора членов узла - в любой момент будет точно один узел, который является владельцем какой-либо конкретной части данных; владение будет переходить на локальные узлы, поскольку различные разделы данных мигрируют с удаленных узлов кластера на локальные узлы кластера.

...