Настройка двухузлового Hazelcast-кластера - отказ от многоадресной рассылки

Контекст

  • Два узла кластера Hazelcast, каждый в отдельной подсети, поэтому многоадресная рассылка не подходит и не работает для местоположения узла.

  • Я хотел бы использовать самый минимальный файл конфигурации XML, скажем hazelcast.xml, чтобы настроить Hazelcast для использования TCP / IP для соединения двух узлов. В идеале каталог IP-адресов двух узлов.

Вопрос

Документы Hazelcast хорошо демонстрируют, как это может быть достигнуто программно. и как hazelcast.jar/hazelcast-default.xml сохраняет (значительную) конфигурацию по умолчанию.

Что неясно: накладывается ли какая-либо конфигурация XML, которую я предоставляю, на настройки в hazelcast-default.xml - или просто используется вместо нее?


person Martin Cowie    schedule 13.10.2014    source источник


Ответы (2)


У меня есть оба ответа, и я хочу ими поделиться

  1. Как и программный API, конфигурация XML перекрывает значения по умолчанию, найденные в hazelcast.jar/hazelcast-default.xml, следовательно ...

  2. Я могу создать очень простой двухчленный кластер с этим hazelcast.xml в пути к классам

    <hazelcast>
      <network>
        <join>
          <multicast enabled="false"></multicast>
          <tcp-ip enabled="true">
            <member>192.168.100.001</member> <!-- server A -->
            <member>192.168.102.200</member> <!-- server B, on separate subnet -->
          </tcp-ip>
        </join>
      </network>
    
    </hazelcast>
    
person Martin Cowie    schedule 18.10.2014
comment
Можем ли мы определить участников без жесткого кодирования IP-адресов (используя только IP-адрес балансировщика нагрузки)? Мне это нужно, так как мой набор узлов время от времени меняется. - person Shivanshu Goyal; 08.09.2019

Я не знаком с файлами hazelcast.conf.

Чаще всего используется XML или программный API. Хорошие примеры см .:

https://github.com/hazelcast/hazelcast-code-samples/tree/master/network-configuration

Пример алгоритмической продажи:

public class Main {

    public static void main(String[] args){
        Config config = new Config();
        config.getNetworkConfig().getJoin().getTcpIpConfig().addMember("localhost").setEnabled(true);
        config.getNetworkConfig().getJoin().getMulticastConfig().setEnabled(false);
        HazelcastInstance hz = Hazelcast.newHazelcastInstance(config);
    }
}

- Что неясно: накладывается ли какая-либо конфигурация XML, которую я предоставляю, на настройки в hazelcast-default.xml - или просто используется вместо нее?

Что ты имеешь в виду? Если вы используете программный API, остальное не актуально. Если вы не предоставляете явный объект Config при создании HazelcastInstance, используется механизм по умолчанию. И в конечном итоге по умолчанию используется hazelcast-default.xml.

person pveentjer    schedule 14.10.2014