Подключение и конфигурирование#
Подключение и конфигурирование программного продукта описано в разделе «Установка» документа «Руководство по установке».
Подключение толстых клиентов из контейнеров к внешним серверным узлам#
Для запуска толстого клиента в среде Platform V DropApp (или Kubernetes/OpenShift) рекомендуется выполнить перенос создания SSL-сессий на Istio и подкладывать сертификаты в него.
Пример конфигурации со стороны толстого клиента
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