Зажечь на сервере

У меня есть сервер и контейнер на сервере, на котором запущены Ignite узлы. И знайте, что конфиги сервера (IP, порт контейнера и т.д.). И хочу подключиться(найти) к этому узлу с моего ПК(от Intellij Idea). А именно я хочу запустить еще один Ignite, к которому необходимо подключиться к узлу на сервере. Как моя новая конфигурация начального узла?

С TcpDiscoverySpi или CommunicationSpi и как с IP и портом.


person emanuel07    schedule 15.06.2016    source источник


Ответы (1)


Вам нужно запустить узел на вашем ПК с конфигурацией, в которой средство поиска IP, установленное для TcpDiscoverySpi, будет содержать список IP-адресов и портов вашего удаленного кластера.

Скорее всего будет более чем достаточно настроить static Поиск IP на вашей стороне.

Просто вы можете создать статический поиск IP-адресов, как показано ниже, и установить этот компонент обнаружения в конфигурацию всех узлов (серверов и клиентов).

        <property name="discoverySpi">
        <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
            <property name="ipFinder">
                <bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder">
                    <property name="addresses">
                        <list>
                            <!-- In distributed environment, replace with actual host IP address. -->
                            <value>server_1_ip:47500..47509</value>
                            <value>server_2_ip:47500..47509</value>
                            <value>server_3_ip:47500..47509</value>
                        </list>
                    </property>
                </bean>
            </property>
        </bean>
    </property>
person dmagda    schedule 15.06.2016
comment
Хорошо. Пожалуйста, покажите мне один пример конфигурации запуска на сервере и локально, который должен найти узел на сервере. И, пожалуйста, скажите мне, когда использовать TcpDiscoverySpi и когда CommunicationSpi. - person emanuel07; 16.06.2016
comment
Обновите ответ выше, добавив примерную конфигурацию статического поиска IP-адресов, которую необходимо добавить в конфигурацию каждого узла. Не забудьте заменить server_N_ip реальными адресами. Диапазон портов также следует изменить, если вы измените номера портов обнаружения на своей стороне. TcpDiscoverySPI обычно создается вручную, чтобы установить средство поиска IP и изменить номер порта, к которому должен быть привязан узел. Экземпляр TcpCommunicationSPI находится на стороне пользователя, если вам нужно изменить низкоуровневые параметры, такие как порт, время ожидания и т. д. - person dmagda; 16.06.2016
comment
И TcpDiscoverySPI, и TcpCommunicationSPI имеют setLocalPort. Пожалуйста, скажите мне разницу? - person emanuel07; 20.06.2016
comment
@daniels, TcpDiscoverySpi используется узлами для создания и обслуживания их кластера. Сообщения, отправляемые через этот SPI, являются системными/внутренними и отправляются с одного узла на другой (соседний слева). Это означает, что кластер организован как кольцо и TcpDiscoverySpi используется для обмена внутренней информацией между узлами. С другой стороны, когда узлу необходимо послать сообщение непосредственно другому (кэшировать ввод/получение, вычисление, событие и т. д.), он использует TcpCommunicationSpi, открывая прямое соединение с удаленным узлом. - person dmagda; 22.06.2016