Подключение и конфигурирование#

Подключение и конфигурирование программного продукта описано в разделе «Установка» документа «Руководство по установке».

Подключение толстых клиентов из контейнеров к внешним серверным узлам#

Для запуска толстого клиента в среде Platform V DropApp (или Kubernetes/OpenShift) рекомендуется выполнить перенос создания SSL-сессий на Istio и подкладывать сертификаты в него.

Пример конфигурации со стороны толстого клиента
Java#
public static IgniteConfiguration getIgniteK8SClientSSLConfiguration() {
TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder()
.setAddresses(SERVERS);

TcpDiscoverySpi discoverySpi = new TcpDiscoverySpi()

.setIpFinder(ipFinder);

TcpCommunicationSpi communicationSpi = new TcpCommunicationSpi();

communicationSpi.forceClientToServerConnections();
BinaryConfiguration binaryConfiguration = new BinaryConfiguration()
.setCompactFooter(true);

SecurityPluginConfiguration secPluginCfg = new SecurityPluginConfiguration()
.setSslAutoconfigurationEnabled(false)
.setNodeLogin(CLIENT_LOGIN)
.setNodePassword(CLIENT_PWD);


return new IgniteConfiguration()
.setIgniteInstanceName("ClientK8s")
.setClientMode(true)
.setPeerClassLoadingEnabled(true)
.setDiscoverySpi(discoverySpi)
.setCommunicationSpi(new TcpCommunicationSpi().setForceClientToServerConnections(true))
.setBinaryConfiguration(binaryConfiguration)
.setPluginProviders(new SecurityPluginProvider(secPluginCfg));
}

Отличия от стандартной конфигурации:

  • В конфигурации плагина безопасности указывается связка «логин + пароль» и у параметра setSslAutoconfigurationEnabled устанавливается значение false. Это приводит к отключению автоматического конфигурирования SSL-соединений.

    Важно

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

  • Если клиенты подключаются через прокси-сервер, в конфигурации дополнительно указывается параметр .setCommunicationSpi(new TcpCommunicationSpi().setForceClientToServerConnections(true)).

Дополнительные модули, которые входят в поставку DataGrid#

Поставка DataGrid включает в себя модули, которые обеспечивают определенную функциональность. Эти модули можно подключать отдельно по мере необходимости.

Все модули есть в дистрибутиве, но по умолчанию они отключены (за исключением ignite-core, ignite-spring и ignite-indexing). Модули находятся в каталоге lib/optional дистрибутива — каждый в отдельной поддиректории.

В зависимости от предполагаемого использования DataGrid модули можно подключить одним из следующих способов:

  • Переместите каталог lib/optional/{module-dir} в папку lib перед запуском узла.

  • Добавьте библиотеки из lib/optional/{module-dir} в classpath приложения.

  • Добавьте модуль в качестве зависимости Maven в проект.

Пример

<dependency>
    <groupId>org.apache.ignite</groupId>
    <artifactId>ignite-log4j2</artifactId>
    <version>${ignite.version}</version>
</dependency>

У следующих модулей есть LGPL-зависимости, поэтому их нельзя развернуть в центральном репозитории Maven: ​

  • ignite-hibernate;

  • ignite-geospatial;

  • ignite-schedule.

Для использования данных модулей соберите их и добавьте в проект. Например, чтобы установить в локальном репозитории модуль ignite-hibernate, запустите в исходном пакете DataGrid команду: ​

mvn clean install -DskipTests -Plgpl -pl modules/hibernate -am