Шаг 2. Настройка сетевого взаимодействия между серверами (обязательный)#
Для настройки взаимодействия между серверами одного кластера DataGrid используйте переменные datagrid_TcpDiscoverySpi_addresses или datagrid_addresses. Задайте переменные в файле с описанием конфигурации inventory.yml:
# Укажите IP-адреса серверов с портами для `org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder`.
# Пример 1:
datagrid_TcpDiscoverySpi_addresses:
- "x.x.x.x:47500..47520"
- "x.x.x.y:47500..47520"
# Пример 2:
datagrid_addresses:
- "x.x.x.x"
- "x.x.x.y"
Настройка защищенного сетевого взаимодействия между серверами#
Для настройки защищенного сетевого взаимодействия между серверами одного кластера DataGrid используйте переменная datagrid_use_ssl. Задайте переменную в файле с описанием конфигурации inventory.yml:
datagrid_use_ssl: yes
Внимание
При каждом применении DataGrid Ansible Role генерируются самоподписанные сертификаты, создаются java-контейнеры с сертификатами на управляющем сервере и переносятся на каждый сервер кластера DataGrid.
Для использования собственных сертификатов или выключения генерации самоподписанных сертификатов в файле с описанием конфигурации inventory.yml, задайте переменные:
datagrid_local_ssl_truststore: "{{ inventory_dir }}/путь/к/контейнеру"
datagrid_ssl_truststore_password: "change-it"
datagrid_local_ssl_keystore: "{{ inventory_dir }}/путь/к/контейнеру"
datagrid_ssl_keystore_password: "change-it" # Пароль от хранилища ключей (keystore).
datagrid_local_client_keystore: "{{ inventory_dir }}/путь/к/контейнеру"
datagrid_ssl_client_keystore_password: "change-it" # Пароль от хранилища ключей (keystore).
datagrid_local_admin_keystore: "{{ inventory_dir }}/путь/к/контейнеру"
datagrid_ssl_admin_keystore_password: "change-it" # Пароль от хранилища ключей (keystore).
datagrid_local_grantadmin_keystore: "{{ inventory_dir }}/путь/к/контейнеру"
datagrid_ssl_grantadmin_keystore_password: "change-it" # Пароль от хранилища ключей (keystore).
Создание новых кешей#
В процессе установки внутри конфигурации можно сформировать новые кеши с необходимыми опциями. Для этого в файле с описанием конфигурации inventory.yml опишите нужный параметр. Например, для получения различных настроек для кеша my_SQLcache опишите параметр datagrid_cacheConfiguration в конфигурационном файле:
datagrid_cacheConfiguration:
my_SQLcache:
sqlSchema: "public"
cacheMode: "PARTITIONED"
atomicityMode: "TRANSACTIONAL"
backups: "0"
statisticsEnabled: "true"
expiryPolicy:
expirePolicyFactory: "javax.cache.expiry.CreatedExpiryPolicy"
duration:
- "HOURS"
- "2"
queryEntities:
myTable:
keyType: "java.util.UUID"
keyFieldName: "ID"
valueType: "valueType_myTable"
fields:
ID: "java.util.UUID"
column1: "java.lang.Boolean"
column2: "java.lang.String"
column3: "java.lang.String"
column4: "java.lang.String"
indexes:
my_SQLcache_myTable_idx:
fields:
column2: "true"
inlineSize: "34"
Также при создании кешей можно привязать имя к определенному региону данных (data region), используя параметр dataRegionName.
Пример конфигурации кеша
datagrid_cacheConfiguration:
ExampleCache:
backups: "1"
atomicityMode: "ATOMIC"
dataRegionName: "default" ## Или имя из примера ниже — `for_general_app`.
expiryPolicy:
expirePolicyFactory: "javax.cache.expiry.TouchedExpiryPolicy"
duration:
- "MINUTES"
- "10"