Установка DataGrid с помощью Ansible#
Подготовка окружения#
Общие требования#
При подготовке окружения убедитесь в выполнении требований:
Предоставлен доступ по SSH-соединению между узлами управления Ansible и хостами DataGrid. Инструкции и команды для проверки SSH-соединений для всех задействованных хостов смотрите в разделе «Предварительная подготовка на управляющем хосте».
Имеются привилегированные права для разделения задач. Ansible Role для DataGrid поддерживает разделение задач на основе тегов. Задачи разделяются на требующие и не требующие привилегированных прав
root. Обратите внимание: на некоторых шагах установки потребуетсяroot-доступ; подробнее смотрите в разделе «Установка без привилегированных прав (root-доступа)».
Настройка виртуального окружения в Python и установка Ansible#
Для настройки окружения и установки Ansible Role:
Установите пакет Ansible 2.9.x - 2.12. Рекомендуем установить пакет Ansible вместо Ansible Core (
ansible-core), который содержит минимальное количество модулей и плагинов. Установка пакета Ansible избавляет от ручной установки дополнительных модулей и плагинов, которые необходимы для DataGrid Ansible Role.Установите виртуальное окружение:
python -m venv $HOME/python-venv/ansibleАктивируйте виртуальное окружение:
source $HOME/python-venv/ansible/bin/activateУстановите
ansible pip install ansibleилиpip install ansibleс версией 2.10.7:pip install ansible == 2.10.7
Предварительная подготовка на управляющем хосте#
Подготовка рабочей директории#
В примерах ниже подразумевается, что на управляющем хосте, с которого выполняется установка, рабочей директорией для процесса установки является /tmp/installer/:
Перенесите дистрибутив
DataGrid-<version>.zipв/tmp/installer/на управляющем хосте.Создайте директорию и распакуйте дистрибутив:
mkdir -pv /tmp/installer/distrib unzip /tmp/installer/Ignite-SE-<version>.zip -d /tmp/installer/distrib/Создайте директорию и распакуйте архив с
ansible-сценариями:mkdir -pv /tmp/installer/roles unzip /tmp/installer/distrib/Ignite-SE-<version>/Ignite-SE-ansibleRole-<version>.zip -d /tmp/installer/roles/datagrid
Подготовка файла Ansible-Inventory для установки DataGrid#
Перед запуском Ansible создайте файл инвентаризации, где укажите хосты, на которых будет установлен DataGrid.
Задайте переменные подключения, чтобы узел управления Ansible мог подключаться к каждому хосту DataGrid, и переменную
datagrid_java_home.Создайте файл с описанием конфигурации и переменными
inventory.yml:cat <<'EOF' > /tmp/installer/inventory.yml cluster_datagrid: vars: ansible_connection: ssh ansible_user: sshlogin ansible_ssh_pass: sshpsw ansible_become_pass: sshpsw datagrid_local_distr_path: "Ignite-SE-16.0.0-81-distrib.zip" datagrid_java_home: "/usr/lib/jvm/openjdk-11" hosts: 10.10.10.10: ansible_host: "10.10.10.10" 10.10.10.11: ansible_host: "10.10.10.11" 10.10.10.12: ansible_host: "10.10.10.12" EOFСоздайте файл установки
install-datagrid.yml:cat <<'EOF' > /tmp/installer/datagrid-install.yml --- - hosts: 'cluster_datagrid' tasks: - name: "Install DataGrid" include_role: name: datagrid vars: datagrid_addresses: "{{ groups[ansible_play_name] }}" tags: - root - datagrid_stop_process - datagrid_start_process - backup - restore - clean - clean-root EOFСоздайте файл
control-datagrid.ymlдля проверки состояния, активации, деактивации DataGrid:cat <<'EOF' > /tmp/installer/datagrid-control.yml --- - hosts: 'cluster_datagrid' tasks: - name: "call control_sh" include_role: name: "datagrid" tasks_from: "control_sh.yml" EOF
Проверка SSH-соединений#
Чтобы убедиться в подключении Ansible через SSH, выполните команду:
ansible -i /tmp/installer/inventory.yml all -m ping
В результате выполнения команды происходит проверка доступности интерпретатора Python для использования на всех хостах. В случае успешной проверки команда возвращает pong в качестве результата.
Рекомендуется хранить файл инвентаризации в собственном репозитории Git для каждого из ваших развертываний.
Установка DataGrid с помощью Ansible#
Выполнение задач с привилегированными правами (root-доступом)#
При выполнении задач с привилегированными правами создаются группа, пользователь, директории, службы, а также устанавливаются разрешения и добавляются права в sudoers.
Для запуска задач с привилегированными правами используйте теги:
root— тег для задач, связанных с созданием группы, пользователя, директории, службы, для установки разрешений и добавления прав вsudoers;clean-root— тег для задач, связанных с удалением DataGrid, группы, пользователя, директории, службы.
Для выполнения задач, связанных с созданием группы, пользователя, директории, службы, установкой разрешения и добавкой прав в sudoers, перейдите в каталог с ansible-сценарием, запустите ansible-playbook с тегом root и дождитесь завершения выполнения:
cd /tmp/installer/
ansible-playbook -i ./inventory.yml ./datagrid-install.yml --tags=root
Примечание
В случае успешного выполнения в выводе команды в разделе
PLAY RECAPнапротив каждого хоста появится строчкаunreachable=0 failed=0.
Выполнение задач по установке DataGrid#
Для запуска предполагается, что на серверах кластера DataGrid созданы группа, пользователь, директория, а также установлены разрешения на доступ к директории.
В примере ниже подразумевается, что установлены группа и пользователь ignite; чтобы изменить на другую группу и на другого пользователя, добавьте соответствующие изменения в файл с описанием конфигурации inventory.yml.
cluster_datagrid:
vars:
# Пользователь, под учетной записью которого идет установка DataGrid.
datagrid_user: ignite
# UID пользователя, под учетной записью которого идет установка DataGrid.
datagrid_user_uid: 15000
# Группа пользователя.
datagrid_group: ignite
# GID группы.
datagrid_group_gid: 15000
# Путь для установки DataGrid.
datagrid_dir: "/opt/ignite"
Для установки DataGrid перейдите в каталог с ansible-сценарием, запустите ansible-playbook и дождитесь завершения выполнения:
cd /tmp/installer/
ansible-playbook -i ./inventory.yml ./datagrid-install.yml
Примечание
В случае успешного выполнения в выводе команды в разделе
PLAY RECAPнапротив каждого хоста появится строчкаunreachable=0 failed=0.
Обновление DataGrid#
Для обновления DataGrid:
Перейдите в каталог с ansible-сценарием.
В файле с описанием конфигурации
inventory.ymlизмените переменнуюdatagrid_local_distr_pathна новый архив с DataGrid.Запустите ansible-playbook:
ansible-playbook -i ./inventory.yml ./datagrid-install.ymlДождитесь завершения обновления.
Обновление конфигурации DataGrid#
Для обновления конфигурации DataGrid:
Перейдите в каталог с ansible-сценарием.
В файле с описанием конфигурации
inventory.ymlдобавьте или измените переменные.Запустите ansible-playbook:
ansible-playbook -i ./inventory.yml ./datagrid-install.ymlДождитесь завершения обновления.
Запуск DataGrid#
Для запуска DataGrid:
Перейдите в каталог с ansible-сценарием.
Запустите ansible-playbook с тегом
datagrid_start_process:ansible-playbook -i ./inventory.yml ./datagrid-install.yml -t datagrid_start_processДождитесь завершения запуска.
Остановка DataGrid#
Для остановки DataGrid:
Перейдите в каталог с ansible-сценарием.
Запустите ansible-playbook с тегом
datagrid_stop_process:ansible-playbook -i ./inventory.yml ./datagrid-install.yml -t datagrid_stop_processДождитесь завершения остановки.
Проверка состояния DataGrid#
Для проверки состояния DataGrid:
Перейдите в каталог с ansible-сценарием.
Запустите ansible-playbook:
cd /tmp/installer/ ansible-playbook -i ./inventory.yml ./datagrid-control.yml -e "datagrid_control_sh_cmd=--baseline"Дождитесь завершения проверки.
Активация DataGrid#
Для активации DataGrid:
Перейдите в каталог с ansible-сценарием.
Запустите ansible-playbook:
cd /tmp/installer/ ansible-playbook -i ./inventory.yml ./datagrid-control.yml -e "datagrid_control_sh_cmd='--set-state active --yes '"Дождитесь завершения активации.
Примечание
В случае успешного выполнения в выводе команды в разделе
PLAY RECAPнапротив каждого хоста появится строчкаunreachable=0 failed=0.
Деактивация DataGrid#
Для деактивации DataGrid:
Перейдите в каталог с ansible-сценарием.
Запустите ansible-playbook:
cd /tmp/installer/ ansible-playbook -i ./inventory.yml ./datagrid-control.yml -e "datagrid_control_sh_cmd='--set-state inactive --force --yes '"Дождитесь завершения деактивации.
Примечание
В случае успешного выполнения в выводе команды в разделе
PLAY RECAPнапротив каждого хоста появится строчкаunreachable=0 failed=0.
Настройка сетевого взаимодействия между серверами#
Для настройки взаимодействия между серверами одного кластера DataGrid используйте переменные datagrid_TcpDiscoverySpi_addresses или datagrid_addresses. Задайте переменные в файле с описанием конфигурации inventory.yml:
# Укажите IP-адреса серверов с портами для org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder.
# Пример 1:
datagrid_TcpDiscoverySpi_addresses:
- "1.1.1.1:47500..47520"
- "1.1.1.2:47500..47520"
# Пример 2:
datagrid_addresses:
- "1.1.1.1"
- "1.1.1.2"
Настройка защищенного сетевого взаимодействия между серверами#
Для настройки защищенного сетевого взаимодействия между серверами одного кластера 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" # Пароль для хранилища с ключами
datagrid_local_client_keystore: "{{ inventory_dir }}/путь/к/контейнеру"
datagrid_ssl_client_keystore_password: "change-it" # Пароль для хранилища с ключами
datagrid_local_admin_keystore: "{{ inventory_dir }}/путь/к/контейнеру"
datagrid_ssl_admin_keystore_password: "change-it" # Пароль для хранилища с ключами
datagrid_local_grantadmin_keystore: "{{ inventory_dir }}/путь/к/контейнеру"
datagrid_ssl_grantadmin_keystore_password: "change-it" # Пароль для хранилища с ключами
Создание новых кешей#
В процессе установки внутри конфигурации можно сформировать новые кеши с необходимыми опциями. Для этого в файле с описанием конфигурации 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"
Конфигурирование региона данных#
Внимание
Добавляйте переменные в файл с описанием конфигурации
inventory.yml.
Для конфигурирования региона данных по умолчанию defaultDataRegionConfigurations используйте переменные:
datagrid_DataRegionConfiguration_name: "default"— изменяет используемое имя дляorg.apache.ignite.configuration.DataRegionConfiguration;datagrid_DataRegionConfiguration_persistenceEnabled: "false"— включает/отключает признак персистентности кластера ISE;datagrid_DataRegionConfiguration_maxSize: "#{16L * 1024 * 1024 * 1024}"— определяет размер региона данных; расчет значения по умолчанию смотрите в таблице «Переменные для подготовки конфигурационного файла кластера DataGrid»;datagrid_DataRegionConfiguration_metricsEnabled: "true"— включает сбор метрик дляorg.apache.ignite.configuration.DataRegionConfiguration;datagrid_DataRegionConfiguration_metricsRateTimeInterval: "1000"— указывает интервал сбора метрик;datagrid_DataRegionConfiguration_checkpointPageBufferSize: "#{18*1024*1024*1024L}"— определяет размер буфера контрольной точки.
Для добавления дополнительных свойств (evictionThreshold или emptyPagesPoolSize) в регионе данных по умолчанию используйте переменную defaultDataRegionConfigurations:
datagrid_defaultdataRegionConfigurations:
persistenceEnabled: "{{ datagrid_DataRegionConfiguration_persistenceEnabled }}"
maxSize: "{{ datagrid_DataRegionConfiguration_maxSize }}"
metricsEnabled: "{{ datagrid_DataRegionConfiguration_metricsEnabled }}"
metricsRateTimeInterval: "{{ datagrid_DataRegionConfiguration_metricsRateTimeInterval }}"
evictionThreshold: "0.8"
emptyPagesPoolSize: "1000"
При добавлении дополнительного региона данных используйте переменную datagrid_dataRegionConfigurations:
datagrid_dataRegionConfigurations:
for_general_app: ## Название региона данных
maxSize: "#{2L*1024*1024*1024}"
pageEvictionMode: "RANDOM_LRU"
evictionThreshold: "0.8"
emptyPagesPoolSize: "1000"
Включение NUMA#
Для конфигурирования узла DataGrid c NUMA в параметре datagrid_DataRegionConfiguration_numa_strategy:
Установите значение
yes:datagrid_DataRegionConfiguration_numa: yes.Укажите стратегию
org.apache.ignite.mem.InterleavedNumaAllocationStrategy:datagrid_DataRegionConfiguration_numa_strategy: "org.apache.ignite.mem.InterleavedNumaAllocationStrategy".
При включении узла DataGrid c NUMA:
Добавьте свойство
memoryAllocatorв конфигурационный файл в разделdataregion:<property name="memoryAllocator"> <bean class="org.apache.ignite.mem.NumaAllocator"> <constructor-arg> <bean class="{{ datagrid_DataRegionConfiguration_numa_strategy }}"/> </constructor-arg> </bean> </property>Добавьте свойство
-XX:+UseNUMAв JVM-опции.Перенесите библиотеки
ignite-numa-allocatorиз директорииoptionalвlibs.
Подробнее о NUMA читайте в разделе «Многопроцессорные серверы, NUMA» документа «Настройка производительности».
Включение снепшотов#
Снепшоты включены по умолчанию для кластеров с типом persist:
# Значение переменной задано в конфигурации inventory.yml
datagrid_DataRegionConfiguration_persistenceEnabled = true
Чтобы изменить путь хранения снепшотов, воспользуйтесь переменной datagrid_snapshots_dir:
datagrid_snapshots_dir: "/dir/snapdir", default = "{{ datagrid_instance_home }}/snapshot"
После изменения пути хранения снепшотов и переконфигурирования кластера в конфигурационном файле customIgniteConfiguration.xml изменится свойство SnapshotPath.
Конфигурирование ячеек#
Для группировки серверов в ячейки и их дальнейшего использования в одном кластере DataGrid установите значение true в переменной datagrid_use_cells. В конфигурационном файле inventory.yml для каждого сервера задайте переменную datagrid_cell_number="n".
Пример синтаксиса:
cluster_datagrid:
vars:
ansible_connection: ssh
ansible_user: sshlogin
ansible_ssh_pass: sshpsw
ansible_become_pass: sshpsw
datagrid_use_cells: true
hosts:
"10.10.10.10":
ansible_host: "10.10.10.10"
datagrid_cell_number: "1"
"10.10.10.11":
ansible_host: "10.10.10.11"
datagrid_cell_number: "1"
"10.10.10.12":
ansible_host: "10.10.10.12"
datagrid_cell_number: "1"
"10.10.11.10":
ansible_host: "10.10.11.10"
datagrid_cell_number: "2"
"10.10.11.11":
ansible_host: "10.10.11.11"
datagrid_cell_number: "2"
"10.10.11.12":
ansible_host: "10.10.11.12"
datagrid_cell_number: "2"
Плагин ignite-check-parameters-plugin#
Условия, при которых включается плагин:
указано значение
yesв параметреdatagrid_use_security_plugin(по умолчанию):datagrid_use_security_plugin: yes;указан
beanс классомcom.sbt.ignite.CheckParametersPluginProviderв параметреpluginProviders(для версии IgniteSE 4.2100.2 и выше):
```bash
<property name="pluginProviders">
<list>
<bean class="com.sbt.ignite.CheckParametersPluginProvider">
<property name="stopNodeOnCheckFailure" value="false"/>
<property name="nodeAttributesHardCheck" value="true"/>
</bean>
</list>
</property>
```
Чтобы включить или выключить плагин, укажите значение yes или false, соответственно, в переменных конфигурации inventory.yml:
# Значения по умолчанию:
datagrid_CheckParametersPluginProvider_stopNodeOnCheckFailure: "false"
datagrid_CheckParametersPluginProvider_nodeAttributesHardCheck: "true"
Отключение модуля ignite-rest-http#
Модуль ignite-rest-http по умолчанию включен.
Для отключения ignite-rest-http установите переменную datagrid_disable_rest_http в конфигурации inventory.yml:
datagrid_disable_rest_http: true
После этого каталог ignite-rest-http будет перенесен из директории libs в libs/optional.
Конфигурирование CDC I2I (ignite-to-ignite)#
При конфигурировании CDC I2I создаются:
конфигурационный файл
configcustomIgniteConfiguration.xml;файлы старта (
startCDC.sh) и остановки (stopCDC.sh) CDC;файл с JVM-опциями
config/cdc-jvm.opts.
Для использования CDC-I2I добавьте параметры в файл inventory.yml; создание файла описано в разделе «Предварительная подготовка на управляющем хосте».
Общие параметры CDC I2I#
Укажите общие параметры в отправляющем и в принимающем кластере:
# Укажите перечень кешей для межкластерной репликации.
datagrid_cdc_caches:
- "NameCache1"
- "NameCache2"
- "NameCache3"
# В конфигурацию региона данных добавьте свойство `cdcEnabled: True`.
datagrid_defaultdataRegionConfigurations: "{{ datagrid_defaultdataRegionConfigurations | combine({'cdcEnabled': True}) }}"
Параметры для CDC I2I через толстый клиент#
Настройте кластер, который отправляет данные:
# Настройте отправку данных межкластерной репликации.
datagrid_cdc_deploy_transmitter: yes
# Укажите имя экземпляра CDC.
datagrid_cdc_igniteInstanceName: "cdc_cluster_1"
# Укажите локальный порт для связи с кластером, на который необходимо передать данные.
datagrid_cdc_localPort: "47600"
# Укажите адреса серверов принимающего кластера (передаются в класс TcpDiscoverySpi).
datagrid_cdc_remote:
- "10.10.10.1:47500..47520"
- "10.10.10.2:47500..47520"
Настройте кластер, который принимает данные:
# Настройте прием данных межкластерной репликации.
datagrid_cdc_deploy_receiver: yes
# Укажите имя экземпляра CDC.
datagrid_cdc_igniteInstanceName: "cdc_cluster_2"
# Укажите адреса кластера, который принимает данные (передаются в класс TcpDiscoverySpi.
# Обязательно добавьте адрес сервера, с которого передаются данные, и имя порта, которое указано в datagrid_cdc_localPort.
datagrid_TcpDiscoverySpi_addresses:
- "10.10.10.1:47500..47520"
- "10.10.10.2:47500..47520"
- "10.10.10.3:47600..47620"
Дополнительные параметры для CDC I2I через тонкий клиент#
Настройте кластер, который отправляет данные:
# Настройте отправку данных межкластерной репликации.
datagrid_cdc_deploy_transmitter: yes
# Укажите имя экземпляра CDC.
datagrid_cdc_igniteInstanceName: "cdc_cluster_1"
datagrid_cdc_thin_client: yes
# Укажите адреса серверов принимающего кластера.
datagrid_cdc_addresses:
- "10.10.10.1"
- "10.10.10.2"
- "10.10.10.3"
# Имя порта должно совпадать с именем порта у принимающего кластера.
datagrid_cdc_client_port: "10800"
Настройте кластер, который принимает данные:
# Настройте прием данных межкластерной репликации.
datagrid_cdc_deploy_receiver: yes
# Укажите имя экземпляра CDC.
datagrid_cdc_igniteInstanceName: "cdc_cluster_2"
# Укажите доступ для тонких клиентов.
datagrid_ClientConnectorConfiguration_thinClientEnabled: yes
# Имя порта принимающего кластера должно совпадать с именем порта у передающего кластера.
datagrid_ClientConnectorConfiguration_port: "10800"
Дополнительные параметры для работы по SSL#
Настройте кластер, который отправляет данные:
# Включите CDC с SSL (значение по умолчанию зависит от переменной datagrid_use_ssl).
datagrid_cdc_client_use_ssl: "yes"
# Укажите имя кластера, на который необходиом передать данные.
datagrid_cdc_client_cluster_name: "cluster_2"
# Укажите тип кластера, на который необходимо передать данные,
datagrid_cdc_client_cluster_type: "DEV"
# Укажите логин клиента с кластера, на который необходимо передать данные.
datagrid_cdc_client_login: "datagrid_client"
# Укажите пароль клиента с кластера, на который необходимо передать данные.
datagrid_cdc_client_pass: "qwe123"
# Укажите путь к контейнеру с ключом клиента.
datagrid_cdc_client_local_keystore: "{{ inventory_dir }}/путь/к/контейнеру"
# Укажите пароль контейнера с ключом клиента.
datagrid_cdc_client_ssl_keystore_password: "qwe123"
# Укажите путь к контейнеру с доверенными сертификатами УЦ.
datagrid_cdc_client_local_truststore: "{{ inventory_dir }}/путь/к/контейнеру"
# Укажите пароль к контейнеру с доверенными сертификатами УЦ.
datagrid_cdc_client_ssl_truststore_password: "qwe123"
Настройте кластер, который принимает данные:
# Проверьте работу кластера по SSL — для этого установите значение yes.
datagrid_use_ssl: yes
# Имя и тип должны совпадать с настройками, указанными на первом кластере в параметрах CDC.
# Укажите имя кластера DataGrid.
datagrid_cluster_name: "cluster_2"
# Укажите тип кластера Ignite (DEV, IFT, NT, PSI, PROM, PROD).
datagrid_cluster_type: "DEV"
Конфигурирование CDC K2I (kafka-to-ignite)#
При конфигурировании CDC K2I создаются:
конфигурационный файл
configCustomIgniteConfiguration.xmlдля DataGrid;конфигурационный файл
config/cdc-kafka.propertiesдля подключения к Kafka;файлы старта (
startCDC.sh) и остановки (stopCDC.sh) CDC на кластере, отправляющем данные;файл с JVM-опциями
config/cdc-jvm.opts.
Для использования CDC-K2I добавьте параметры в файл inventory.yml; создание файла описано в разделе «Предварительная подготовка на управляющем хосте».
Общие параметры CDC K2I#
Предварительно создайте topics в Kafka:
from_cluster_1— для передачи данных;metaData_from_cluster_1— для передачи метаданных.
Укажите общие параметры в отправляющем и в принимающем кластере:
# Укажите перечень кешей для межкластерной репликации.
datagrid_cdc_caches:
- "NameCache1"
- "NameCache2"
- "NameCache3"
# В конфигурацию региона данных добавьте свойство `cdcEnabled: True`.
datagrid_defaultdataRegionConfigurations: "{{ datagrid_defaultdataRegionConfigurations | combine({'cdcEnabled': True}) }}"
Параметры для CDC K2I через толстый клиент#
Настройте кластер, отправляющий данные:
# Настройте отправку данных межкластерной репликации.
datagrid_cdc_deploy_transmitter: yes
# Включите отправку данных через Kafka.
datagrid_cdc_use_kafka: yes
# Настройке время ожидания подключения к кластеру DataGrid.
datagrid_cdc_joinTimeout: "10000"
# Укажите JMX порт для CDC
datagrid_cdc_jmx_port: 1095
# Укажите имя топика для передачи данных межкластерной репликации.
datagrid_cdc_cdcStreamer_kafkaTopic: "from_cluster_1"
# Укажите количество частей для Kafka.
datagrid_cdc_cdcStreamer_kafkaParts: 10
# Укажите адрес и порт для подключения к Kafka.
datagrid_cdc_kafka_properties_bootstrap_servers:
- "10.10.10.10:9093"
Настройте кластер, который принимает данные:
# Настройте прием данных межкластерной репликации.
datagrid_cdc_deploy_receiver: yes
# Укажите адреса серверов Kafka для получения данных межкластерной репликации.
datagrid_cdc_kafka_properties_bootstrap_servers:
- "10.10.10.10:9093"
# Укажите адрес серверов кластера DataGrid для получения данных межкластерной репликации.
datagrid_cdc_k2i_clients:
"10.40.5.18":
from: 0
to: 10
threadCount: 2
# Укажите JMX порт для подключения через jconsole.
datagrid_cdc_k2i_jmx_port: 1096
# Укажите имя топика для приема данных межкластерной репликации.
datagrid_cdc_k2iStreamer_kafkaTopic: "from_cluster_1"
Дополнительные параметры для работы CDC K2I через тонкий клиент#
Настройте кластер, который принимает данные:
# Настройке конфигурирование передачи данных через тонкий клиент.
datagrid_cdc_thin_client: yes
# Укажите адреса серверов принимающего кластера.
datagrid_cdc_addresses:
- "10.10.10.1"
- "10.10.10.2"
- "10.10.10.3"
# Укажите орт подключения тонкого клиента.
datagrid_cdc_client_port: "10800"
Дополнительные параметры для работы с Kafka по SSL#
Настройте отправляющий и принимающий кластеры:
# Укажите подключение к Kafka по SSL.
datagrid_cdc_kafka_use_ssl: yes
# Укажите путь к контейнеру с ключом.
datagrid_cdc_kafka_local_keystore: "{{ inventory_dir }}/путь/к/контейнеру"
# Укажите путь к контейнеру с доверенными сертификатами УЦ.
datagrid_cdc_kafka_local_truststore: "{{ inventory_dir }}/путь/к/контейнеру"
# Укажите пароль для контейнера с ключом клиента.
datagrid_cdc_kafka_ssl_keystore_password: "qwe123"
# Укажите пароль для контейнера с доверенными сертификатами.
datagrid_cdc_kafka_ssl_truststore_password: "qwe123"
Дополнительные параметры для работы с DataGrid по SSL#
Настройте кластер, который принимает данные:
# Укажите логин клиента DataGrid принимающего кластера.
datagrid_cdc_client_login: "ise_client"
# Укажите пароль клиента DataGrid принимающего кластера.
datagrid_cdc_client_pass: "ise_client_password"
# Укажите путь к контейнеру с ключом клиента.
datagrid_cdc_client_local_keystore: "{{ inventory_dir }}/путь/к/контейнеру"
# Укажите пароль для контейнера с ключом клиента.
datagrid_cdc_client_ssl_key_pass: "{{ datagrid_ssl_client_keystore_password }}"
# Укажите путь к контейнеру с доверенными сертификатами УЦ.
datagrid_cdc_client_local_truststore: "{{ inventory_dir }}/путь/к/контейнеру"
# Укажите пароль для контейнера с доверенными сертификатами.
datagrid_cdc_client_ssl_trust_pass: "{{ datagrid_ssl_truststore_password }}"
Генерация сертификатов#
Генерация самоподписанных сертификатов происходит при соблюдении условий:
на кластере включен SSL (по умолчанию выключен):
datagrid_use_ssl: yesне заполнены переменные:
datagrid_local_ssl_keystore: "" datagrid_local_ssl_truststore: "" datagrid_local_admin_keystore: "" datagrid_local_client_keystore: "" datagrid_local_grantadmin_keystore: ""заполнена переменная
datagrid_keystore_password_for_everyone(на все создаваемые контейнеры устанавливается один пароль); значение по умолчанию:datagrid_keystore_password_for_everyone: "Ignite@1"пароль указан в зашифрованном виде, например:
datagrid_keystore_password_for_everyone: !vault | $ANSIBLE_VAULT;1.1;AES256 39623536313061356636336366626331393633313432343333333737656439303030323131663631 3233623563383930646433643135366466393433633734370a653539306339663438666166303635 34633162306635373764346461303832313731393665656539346664643033663963646234323130 6233616233303336660a653738623035306261386235363064666665306362383964633639363463 3233
Для отключения генерации сертификатов в inventory переопределите и заполните одну из переменных:
datagrid_local_ssl_keystore: "{{ inventory_dir }}/../files/meim_kb/psi/psi-meim_kb-gg_server-keystore.jks"
datagrid_local_ssl_truststore: "{{ inventory_dir }}/../files/meim_kb/psi/psi-truststore.jks"
Чтобы выполнить задание на генерацию сертификатов, проверьте, что:
переменные пустые:
datagrid_local_ssl_keystore: "" datagrid_local_ssl_truststore: "" datagrid_local_admin_keystore: "" datagrid_local_client_keystore: "" datagrid_local_grantadmin_keystore: ""включен SSL:
datagrid_use_ssl: yesзаполнен пароль:
datagrid_keystore_password_for_everyone: "Ignite@1
Если условия выполнены, на управляющем сервере создается скрипт из шаблона templates/genCert.sh.j2. Запустите скрипт и передайте параметры:
sh {{ datagrid_local_tmp_path }}/genCert.sh --keyPassword={{ datagrid_keystore_password_for_everyone }} --userIgniteSrv={{ datagrid_userIgniteSrv }} --userIgniteClient={{ datagrid_userIgniteClient }} --userIgniteAdmin={{ datagrid_userIgniteAdmin }} --userIgniteGrantAdmin={{ datagrid_userIgniteGrantAdmin }} --pathWork={{ datagrid_local_tmp_path }} --clusterType={{ datagrid_cluster_type }} --clusterName={{ datagrid_cluster_name }} --csr --pfx
После этого получите keystore и проверьте его наличие на управляющем сервере. Заполните переменные:
datagrid_local_ssl_keystore: "{{ datagrid_userIgniteSrv_path }}"
datagrid_local_ssl_truststore: "{{ datagrid_truststore_path }}"
datagrid_local_admin_keystore: "{{ datagrid_userIgniteAdmin_path }}"
datagrid_local_client_keystore: "{{ datagrid_userIgniteClient_path }}"
datagrid_local_grantadmin_keystore: "{{ datagrid_userIgniteGrantAdmin_path }}"
Схема процесса генерации сертификатов:

Удаление DataGrid#
После удаления DataGrid, помимо данных, будут также удалены log-файлы, библиотеки, исполняемые файлы.
Для удаления DataGrid:
Используйте созданный при установке
inventory.ini.Создайте файл
unistall-datagrid.yml:cat <<'EOF' > /home/installer/unistall-datagrid.yml --- - hosts: 'datagrid' tasks: - name: "Install DataGrid" include_role: name: datagrid tasks_from: "clean_server.yml" EOFПерейдите в каталог со сценарием
ansible:cd/home/installer/.Выполните
ansible-playbook -i ./inventories/DEV/inventory.ini ./unistall-datagrid.yml -t clean.Дождитесь завершения выполнения. В случае успешного выполнения в
stdoutв разделеPLAY RECAPнапротив каждого хоста будет виден статусunreachable=0 failed=0.
Справочник переменных DataGrid Ansible Role#
Основные переменные#
Переменная |
Тип |
Значение по умолчанию |
Описание |
|---|---|---|---|
|
|
|
Путь к |
|
|
|
Путь для установки DataGrid |
|
|
|
Пользователь ОС для установки DataGrid |
|
|
|
UID пользователя ОС |
|
|
|
Группа пользователя ОС |
|
|
|
GID группы ОС |
|
|
— |
Имя кластера DataGrid |
|
|
— |
Тип кластера DataGrid (DEV, IFT, NT, PSI, PROD) |
|
|
|
Имя сервиса |
|
|
— |
Имя экземпляра |
Переменные для определения путей, с которыми работает DataGrid#
Переменная |
Тип |
Значение по умолчанию |
Описание |
|---|---|---|---|
|
|
|
Путь к файлам, с которыми работает DataGrid |
|
|
|
Путь к исполняемым файлам |
|
|
|
Путь к log-файлам |
|
|
|
Путь к папке с журналами предзаписи |
|
|
|
Путь к файлам с конфигурацией |
|
|
|
Путь к рабочей папке |
|
|
|
Путь к папке с файлами диагностики |
|
|
|
Путь к папке с файлами данных |
|
|
|
Путь к папке с временными файлами |
|
|
|
Путь к папке с библиотеками DataGrid |
|
|
|
Путь к GC log-файлам |
|
|
|
Путь к папке с backup-файлами |
|
|
|
Путь к конфиденциальным файлам |
|
|
|
Путь к папке со срезами данных |
|
|
|
Путь к библиотекам пользователя |
|
|
|
Путь к папке с архивами журналов предзаписи |
|
|
|
Список файлов для переименования при установке или обновлении DataGrid |
|
|
Значение по умолчанию смотрите внизу таблицы |
Список используемых папок |
|
|
Значение по умолчанию смотрите внизу таблицы |
Список очищаемых папок при обновлении/установке |
|
|
|
Список генерируемых скриптов |
|
|
Значение по умолчанию смотрите внизу таблицы |
Список шаблонов, по которым генерируются аналогичные конфигурационные файлы |
Значение по умолчанию в переменной datagrid_dirs:
[
{{ datagrid_instance_home }}, {{ datagrid_bin_dir }}, {{ datagrid_bin_dir }}, {{ datagrid_wal_dir }},
{{ datagrid_conf_dir }}, {{ datagrid_work_dir }}, {{ datagrid_diag_dir }}, {{ datagrid_data_dir }},
{{ datagrid_temp_dir }}, {{ datagrid_temp_dir }}, {{ datagrid_libs_dir }}, {{ datagrid_gclog_dir }},
{{ datagrid_backup_dir }}, {{ datagrid_secrets_dir }}, {{ datagrid_snapshots_dir }}, {{ datagrid_user_libs_dir }},
{{ datagrid_wal_archive_dir }}
]
Значение по умолчанию в переменной datagrid_rm_before_update_dirs:
[
{{ datagrid_bin_dir }},{{ datagrid_diag_dir }},
{{ datagrid_temp_dir }},{{ datagrid_libs_dir }},{{ datagrid_user_libs_dir }}
]
Значение по умолчанию в переменной datagrid_conf_templates:
[
"jvm.opts","ignite-log4j.xml","java.util.logging.properties","environment","{{ datagrid_logrotate_config_file }}"
]
Переменные для управления запуском DataGrid#
Переменная |
Тип |
Значение по умолчанию |
Описание |
|---|---|---|---|
|
|
|
Строка запуска DataGrid |
|
|
|
Строка параметров для запуска DataGrid |
|
|
|
Путь к файлу |
|
|
|
Имя шаблона, который используется для генерации конфигурационного файла DataGrid |
|
|
|
Путь к используемому шаблону |
|
|
|
Имя серверного-конфигурационного файла DataGrid |
|
|
— |
Путь к конфигурационному файлу DataGrid в |
|
|
|
Путь к серверно-конфигурационному файлу DataGrid на серверах |
|
|
|
Параметр, который позволяет делать backup серверного-конфигурационного файла DataGrid на серверах |
|
|
|
Имя клиентского шаблона, который используется для генерации конфигурационого файла DataGrid |
|
|
|
Путь к используемому клиентскому шаблону |
|
|
|
Имя клиентского конфигурационного файла DataGrid |
|
|
|
Обозначение узла с клиентским DataGrid |
|
|
100 |
Количество попыток «корректной» остановки сервера DataGrid до остановки процесса |
|
|
10 |
Время ожидания запуска процесса сервера (в секундах) |
|
|
|
Игнорирование ошибок при выполнении |
|
|
|
Вывод выполнения |
|
|
0 |
Оперативная память для исключения из расчета XMX |
|
|
Значение по умолчанию смотрите внизу таблицы |
Определяет XMX для Java |
|
|
|
Выставляет значение XMS равным XMX |
Значение по умолчанию в переменной datagrid_jvm_xmx_gb:
"{% if (ansible_memtotal_mb - datagrid_exclude_memory_gb|int*1024) < 9000 %}1{% elif (ansible_memtotal_mb - datagrid_exclude_memory_gb|int*1024) < 20480 %}3{% elif (ansible_memtotal_mb - datagrid_exclude_memory_gb|int*1024) < 51200 %}8{% else %}15{% endif %}"
Дополнительные переменные#
Переменная |
Тип |
Значение по умолчанию |
Описание |
|---|---|---|---|
|
|
|
Список ссылок на сторонние дистрибутивы для поиска дополнительных библиотек и загрузки в |
|
|
|
Паттерн для поиска дополнительных библиотек в сторонних дистрибутивах |
|
|
|
Включает создание архива с конфигурацией DataGrid при установке/обновлении |
|
|
1 |
Количество backups |
|
|
|
Создание архива с данными |
|
|
|
Путь к файлу |
|
|
|
Путь к файлу |
|
|
|
Путь к файлу |
|
|
|
Список дополнительных JVM-опций |
|
|
|
Список дополнительных библиотек, которые необходимо скопировать на серверы и добавить в |
|
|
|
Список библиотек для перемещения из |
|
|
|
Выключение REST-протокола |
|
|
|
Включает режим генерации конфигурационных фалов для оператора k8s |
|
|
|
Служебная переменная, далее определяется в |
Переменные для управления JMX#
Переменная |
Тип |
Значение по умолчанию |
Описание |
|---|---|---|---|
|
|
1098 |
JMX порт |
|
|
|
JMX авторизация |
|
|
|
JMX включение зашифрованного соединения |
|
|
|
JMX может принимать соединения только с локального хоста |
|
|
|
Путь к файлу со свойствами JMX на серверах |
|
|
|
Путь к файлу с SSL-свойствами на серверах |
|
|
|
Путь к файлу с назначенными ролями на серверах |
|
|
|
JMX включение SSL-аутентификации |
|
|
|
Путь к файлу с пользователями на серверах |
|
|
|
Текст (содержание) в файле с ролями |
|
|
|
Текст (содержание) в файле с пользователями |
Переменные для управления профилированием JFR#
Переменная |
Тип |
Значение по умолчанию |
Описание |
|---|---|---|---|
|
|
|
Включение профилирования |
|
|
|
Флаг, обозначающий, что запись должна сохраняться на диске по мере работы |
|
|
48h |
Максимальное время, в течение которого будут сохраняться записанные данные |
|
|
1000m |
Максимальное количество данных; после достижения максимального значения происходит ротация записанных файлов |
|
|
|
Cброс данных на диск при завершении работы JVM, включая аварийное завершение |
|
|
30M |
Размер одного файлового блока (одного файла) |
|
|
|
Путь к файлу профилирования на серверах |
|
|
|
Шаблон для oracle-jdk |
|
|
|
Шаблон для open-jdk17 |
|
|
"profiling-openjdk11.jfc" |
Шаблон для open-jdk11 |
|
|
|
Шаблон для open-jdk8 |
|
|
|
Выбор шаблона |
|
|
Значение по умолчанию смотрите внизу таблицы |
Выбор шаблона |
Значение по умолчанию в переменной datagrid_jfr_profiling_openjdk_templates:
"{% if java_ver_openjdk_version|string == '17' %}{{ datagrid_jfr_profiling_openjdk17_templates }}{% elif java_ver_openjdk_version|string == '11' %}{{ datagrid_jfr_profiling_openjdk11_templates }}{% else %}{{datagrid_jfr_profiling_openjdk1_8_templates }}{% endif %}"
Переменные для управления логированием#
Переменная |
Тип |
Значение по умолчанию |
Описание |
|---|---|---|---|
|
|
|
Включение |
|
|
|
Имя шаблона, который используется для генерации конфигурационного файла |
|
|
|
Имя конфигурационного файла |
|
|
|
Путь к конфигурационному файлу |
|
|
|
Включение log-файла DataGrid |
|
|
|
Ротация log-файлов по размеру |
|
|
|
Максимальное количество log-файлов для хранения в день |
|
|
|
Удаление архивных log-файлов по истечении времени |
|
|
|
Удаление архивных log-файлов по достижению максимального размера |
|
|
|
Удаление архивных log-файлов по достижению максимального количества файлов |
|
|
|
Включение логировния для определенного класса, например, |
Переменные для подготовки конфигурационного файла кластера DataGrid#
Переменная |
Тип |
Значение по умолчанию |
Описание |
|---|---|---|---|
|
|
|
Включает |
|
|
|
Основной класс для конфигурирования DataGrid |
|
|
|
Остановка процесса Ignite при несоответствии параметров ОС рекомендованным настройкам для DataGrid |
|
|
|
Включение рекомендованных настроек для DataGrid |
|
|
|
Имя экземпляра DataGrid |
|
|
30000 |
Частота регистрации метрик |
|
|
30000 |
Время ожидания обнаружения отказа (время ожидания ответа от других узлов) |
|
|
1 |
Количество повторных попыток отправки сообщения |
|
|
4 |
Количество потоков для ребалансировки |
|
|
|
Загрузка однорангового класса |
|
|
|
Размер количества очередей для построения индекса |
|
|
|
Уникальный идентификатор узла DataGrid |
|
|
|
Проверка работы процесса DataGrid для k8s |
|
|
8082 |
Порт для проверки работы процесса DataGrid для k8s |
|
|
|
Включение публикации метрик DataGrid через JMX |
|
|
|
Включение публикации метрик DataGrid через HTTP |
|
|
8081 |
Порт для публикации метрик DataGrid через HTTP |
|
|
Значение по умолчанию смотрите внизу таблицы |
Список параметров публикации метрик Ignite через HTTP |
|
|
|
Определяет IP-адрес, на котором можно слушать порт |
|
|
47100 |
Порт для связи с другими узлами |
|
|
–1 |
Порт для приема подключений к общей памяти (не рекомендуется использование параметра) |
|
|
600000 |
Время простоя, по истечении которого соединение с клиентом будет закрыто |
|
|
30000 |
Период записи сообщения в сокет; по истечении времени соединение закрывается и предпринимается попытка переподключения |
|
|
18 |
Количество селекторов для TCP |
|
|
1 |
Количество подключений на узел |
|
|
|
Использование отдельных соединений для входящих и исходящих данных |
|
|
0 |
Предел очереди сообщений для входящих и исходящих сообщений |
|
|
|
Список адресов Ignite-серверов, которые входят в кластер |
|
|
|
Список адресов с портами Ignite-серверов, которые входят в кластер |
|
|
|
Адрес сервера, на котором слушается порт для |
|
|
47500 |
Порт для обмена информацией об IP-адресах узлов |
|
|
9 |
Диапазон локальных портов для попытки привязки |
|
|
|
Класс для поиска адресов Ignite-серверов, которые входят в кластер |
|
|
300 |
Время ожидания присоединения к кластеру |
|
|
|
Добавляет конфигурацию подключения к узлам DataGrid |
|
|
0.0.0.0 |
IP-адрес, на котором слушается порт бинарного протокола TCP |
|
|
11211 |
Порт для сервера бинарного протокола TCP |
|
|
180000 |
Время простоя для сервера |
|
|
|
Включает возможность подключения клиентов |
|
|
0.0.0.0 |
Адрес для клиентских подключений |
|
|
10800 |
Порт для клиентских подключений |
|
|
100 |
Диапазон локальных портов для попытки клиентских подключений |
|
|
|
Доступ через JDBC |
|
|
|
Доступ через ODBC |
|
|
100 |
Максимальное число активных задач на одном подключении |
|
|
|
Установка максимального количества транзакций для тонкого клиента |
|
|
|
Установка размера системных потоков |
|
|
|
Доступ тонким клиентам |
|
|
|
Определяет работу по SSL |
|
|
|
Определяет взаимодействие между серверными узлами |
|
|
|
Определяет работу с клиентом по SSL |
|
|
|
Определяет подключение клиентов к кластеру Ignite по SSL с шифрованием |
|
|
|
Определяет работу по SSL с тонким-клиентом |
|
|
|
Тип работы с клиентами по шифрованию |
|
|
|
Включение/отключение |
|
|
|
Включение/отключение |
|
|
Значение по умолчанию смотрите внизу таблицы |
Настройки |
|
|
|
Имя региона данных |
|
|
|
Включение хранения данных на диске |
|
|
Значение по умолчанию смотрите внизу таблицы |
Максимальный размер данных, которые находятся в оперативной памяти |
|
|
|
Включение метрик для региона данных |
|
|
1000 |
Период снятия метрик |
|
|
Значение по умолчанию смотрите внизу таблицы |
Свойства в регионе данных по умолчанию |
|
|
|
Размер буфера страницы для контрольных точек |
|
|
|
Включает NUMA для всех регионов данных |
|
|
|
Определяет стратегию для NUMA |
|
|
|
Максимальный размер для системного региона данных |
|
|
|
Размер страницы |
|
|
|
Путь хранения данных |
|
|
60000 |
Частота создания контрольных точек |
|
|
2147483647 |
Устанавливает максимальный размер (в байтах) WAL архива в файловой системе |
|
|
|
Устанавливает максимальный размер (в байтах) WAL архива в файловой системе |
|
|
|
Путь к WAL архиву |
|
|
|
Путь к WAL архиву на серверах |
|
|
|
Размер одного сегмента WAL (в байтах). По умолчанию используется 64 Мб. Максимальное значение — 2 Гб |
|
|
|
Режим работы WAL |
|
|
5242880 |
Размер буфера WAL (в байтах) |
|
|
|
Включает сжатие WAL |
|
|
|
Устанавливает время (в милисекундах) для автоматического запуска архивирования (даже если процесс неполный) |
|
|
|
Включает метрики для |
|
|
60000 |
Период снятия метрик |
|
|
|
Уровень изоляции по умолчанию |
|
|
300000 |
Таймаут для транзакции по умолчанию |
|
|
10000 |
Таймаут процесса обмена картами разделов внутри DataGrid при транзакции |
|
|
|
Включает конфигурацию для атомарных кешей |
|
|
50000 |
Количество значений последовательностей, которые зарезервированы для каждого узла |
|
|
|
Режим работы атомарных кешей |
|
|
1 |
Количество узлов, используемых для резервного копирования одного раздела атомарного кеша |
|
|
|
Дополнительный список строк после раздела |
|
|
|
Дополнительный список строк в разделе |
|
|
|
Разложить на сервер дополнительные необходимые файлы ( |
|
|
|
Дополнительные строки |
|
|
|
Дополнительные строки |
|
|
|
Конфигурация кешей в DataGrid ( |
|
|
|
Конфигурация сервиса ( |
|
|
|
Конфигурация региона с данными ( |
Значение по умолчанию в переменной datagrid_http_metrics_exporter_groups:
[
{"class": "RegExpGroup", "properties": {"context": "/all", "regExp": ".*"}},
{"class": "RegExpGroup", "properties": {"context": "/threadPools", "regExp": "threadPools\..*"}},
{"class": "NamesListGroup", "properties": {"context": "/pme", "names": "pme"}},
{"class": "NamesListGroup", "properties": {"context": "/sql", "names": "sql"}},
{"class": "NamesListGroup", "properties": {"context": "/cluster", "names": "cluster"}},
{"class": "RegExpGroup", "properties": {"context": "/io", "regExp": "io\..*"}},
{"class": "NamesListGroup", "properties": {"context": "/cacheGroups", "names": "cacheGroups"}},
{"class": "RegExpGroup", "properties": {"context": "/cache", "regExp": "cache\..*"}},
{"class": "NamesListGroup", "properties": {"context": "/ignite", "names": "ignite"}},
{"class": "NamesListGroup", "properties": {"context": "/sys", "names": "sys"}},
{"class": "NamesListGroup", "properties": {"context": "/communication", "names": "communication"}},
{"class": "NamesListGroup", "properties": {"context": "/tx", "names": "tx"}}
]
Значение по умолчанию в переменной datagrid_use_cipherSuitesEnc_list:
[
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_RSA_WITH_AES_256_GCM_SHA384",
"TLS_RSA_WITH_AES_128_GCM_SHA256"
]
Значение по умолчанию в переменной datagrid_DataRegionConfiguration_maxSize:
"{{ '#{' }}{{ (((((ansible_memtotal_mb - datagrid_exclude_memory_gb|int*1024) - (datagrid_jvm_xmx_gb|int*1024)-1024)*0.8)/1024)|int) }}{{ 'L * 1024 * 1024 * 1024}' }}"
Значение по умолчанию в переменной datagrid_defaultdataRegionConfigurations:
{
persistenceEnabled: "{{ datagrid_DataRegionConfiguration_persistenceEnabled }}"
maxSize: "{{ datagrid_DataRegionConfiguration_maxSize }}"
metricsEnabled: "{{ datagrid_DataRegionConfiguration_metricsEnabled }}"
metricsRateTimeInterval: "{{ datagrid_DataRegionConfiguration_metricsRateTimeInterval }}"
}
Переменные для определения JVM-опций#
Переменная |
Тип |
Значение по умолчанию |
Описание |
|---|---|---|---|
|
|
|
Список дополнительных JVM-опций |
|
|
|
Список JVM-опций для |
|
|
|
Включает дополнительные JVM-опции по |
|
|
Значение по умолчанию смотрите внизу таблицы |
Список JVM-опций по JMX |
|
|
Значение по умолчанию смотрите внизу таблицы |
Определяет начальный и максимальный размер памяти JVM |
|
|
Значение по умолчанию смотрите внизу таблицы |
Определяет параметры имени и типа кластера |
|
|
Значение по умолчанию смотрите внизу таблицы |
Список основных JVM-опций |
|
|
Значение по умолчанию смотрите внизу таблицы |
Список JVM-опций для профилирования при Oracle-jdk |
|
|
|
Список JVM-опций для профилирования Openjdk17 |
|
|
Значение по умолчанию смотрите внизу таблицы |
Список JVM-опций для профилирования при Openjdk11 |
|
|
Значение по умолчанию смотрите внизу таблицы |
Список JVM-опций для профилирования при Openjdk8 |
|
|
Значение по умолчанию смотрите внизу таблицы |
Определение JVM-опций в зависимости от версии Java |
|
|
|
Определение JVM-опций в зависимости от версии Java |
|
|
Значение по умолчанию смотрите внизу таблицы |
Список JVM-опций для сборщика мусора (GC) |
|
|
Значение по умолчанию смотрите внизу таблицы |
Список JVM-опций GC для версии Openjdk17 |
|
|
Значение по умолчанию смотрите внизу таблицы |
Список JVM-опций GC для версии Openjdk11 |
|
|
|
Список JVM-опций GC для версии Openjdk8 |
|
|
Значение по умолчанию смотрите внизу таблицы |
Определение JVM-опций GC в зависимости от версии Java |
|
|
|
Определение номера ячейки для сервера |
|
|
|
Параметры для NUMA |
|
|
Значение по умолчанию смотрите внизу таблицы |
Определение JVM-опций GC в зависимости от версии Java |
|
|
|
Список JVM-опций GC для версии Openjdk8 |
|
|
|
Список JVM-опций для версии Openjdk11 |
|
|
|
Список JVM-опций для версии Openjdk17 |
|
|
|
Определение JVM-опций в зависимости от версии Java |
|
|
|
Список JVM-опций для безопасности |
|
|
|
Определение JVM-опции в зависимости от параметра |
|
|
|
Определение JVM-опций GC в зависимости от версии Java |
|
|
Значение по умолчанию смотрите внизу таблицы |
Итоговый список JVM-опций |
|
|
Значение по умолчанию смотрите внизу таблицы |
Список JVM-опций для модуля конфигуратор |
|
|
|
Добавляет список JVM-опций при включенном модуле конфигуратор |
|
|
|
Добавляет JVM-опцию для модуля Аудита |
|
|
|
Добавляет список JVM-опций при включенном профилировании JDK |
|
|
|
Добавляет JVM-опцию по ячейки |
|
|
|
Определяет итоговый список JVM-опций |
Значение по умолчанию в переменной datagrid_jvm_jmx_opts:
[
"-Dcom.sun.management.jmxremote",
"-Dcom.sun.management.jmxremote.port={{ datagrid_jmx_port }}",
"-Dcom.sun.management.jmxremote.authenticate={{ datagrid_jmx_auth }}",
"-Dcom.sun.management.jmxremote.ssl={{ datagrid_jmx_ssl }}",
"-Dcom.sun.management.config.file={{ datagrid_jmx_properties }}"
]
Значение по умолчанию в переменной datagrid_xmx_jvm_opts:
[
"-Xmx{{ datagrid_jvm_xmx_gb }}g",
"-Xms{{ datagrid_jvm_xms_gb }}g"
]
Значение по умолчанию в переменной datagrid_cluster_jvm_opts:
[
"-DIGNITE_CLUSTER_NAME={{ datagrid_cluster_name }}",
"-DIGNITE_CLUSTER_TYPE={{ datagrid_cluster_type }}",
"-DIGNITE_QUIET=false"
]
Значение по умолчанию в переменной datagrid_cluster_jvm_opts:
[
"-ea","-server","-XX:+ScavengeBeforeFullGC","-XX:+AlwaysPreTouch","-XX:+UnlockDiagnosticVMOptions",
"-Djava.net.preferIPv4Stack=true","-Dnetworkaddress.cache.ttl=-1","-DIGNITE.DEPLOYMENT.ADDITIONAL.CHECK=true",
"-DIGNITE_EXCHANGE_HISTORY_SIZE=100","-DIGNITE_TO_STRING_INCLUDE_SENSITIVE={{ datagrid_jvm_option_include_sensitive|default('false') }}",
"-XX:+ExitOnOutOfMemoryError","-XX:+HeapDumpOnOutOfMemoryError","-XX:ErrorFile={{ datagrid_jvm_error_file_path }}",
"-XX:HeapDumpPath={{ datagrid_diag_dir }}","-Djava.io.tmpdir={{ datagrid_temp_dir }}","-DIGNITE_MBEAN_APPEND_CLASS_LOADER_ID=false"
"-Dfile.encoding=UTF-8","-XX:+PerfDisableSharedMem","-XX:+UnlockExperimentalVMOptions","-XX:-OmitStackTraceInFastThrow",
"-XX:+LogVMOutput","-DIGNITE_REUSE_MEMORY_ON_DEACTIVATE=true","-DIGNITE_DISCOVERY_DISABLE_CACHE_METRICS_UPDATE=true",
"-DIGNITE_AFFINITY_HISTORY_SIZE=50","-DIGNITE_USE_ASYNC_FILE_IO_FACTORY=true","-DIGNITE_ENABLE_EXTRA_INDEX_REBUILD_LOGGING=true",
"-DIGNITE_DUMP_THREADS_ON_FAILURE=false","-DIGNITE_ENABLE_FORCIBLE_NODE_KILL=true","-DIGNITE_DIAGNOSTIC_ENABLED=false",
"-DIGNITE_UPDATE_NOTIFIER=false","-XX:-UseBiasedLocking"
]
Значение по умолчанию в переменной datagrid_jvm_jfr_oracle_opts:
[
"-XX:+UnlockCommercialFeatures",
"-XX:+FlightRecorder",
"-XX:FlightRecorderOptions=defaultrecording={{ datagrid_jfr_enable | bool | string | lower }},disk={{ datagrid_jfr_disk }},settings={{ datagrid_jfr_profiling_path }},repository={{ datagrid_diag_dir }},maxage={{ datagrid_jfr_maxage }},maxsize={{ datagrid_jfr_maxsize }},maxchunksize={{ datagrid_jfr_maxchunksize }},dumponexit={{ datagrid_jfr_dumponexit }},dumponexitpath={{ datagrid_diag_dir }}"
]
Значение по умолчанию в переменной datagrid_jvm_jfr_openjdk11_opts:
[
"-XX:StartFlightRecording=disk={{ datagrid_jfr_disk }},settings={{ datagrid_jfr_profiling_path }},maxage={{ datagrid_jfr_maxage }},maxsize={{ datagrid_jfr_maxsize }},dumponexit={{ datagrid_jfr_dumponexit }},{% if datagrid_jfr_dumponexit == 'True' %}filename={{ datagrid_diag_dir }}/dumpjfr.jfr{% endif %}",
"-XX:FlightRecorderOptions=repository={{ datagrid_diag_dir }},maxchunksize={{ datagrid_jfr_maxchunksize }}"
]
Значение по умолчанию в переменной datagrid_jvm_jfr_openjdk1_8_opts:
[
"-XX:StartFlightRecording=disk={{ datagrid_jfr_disk }},settings={{ datagrid_jfr_profiling_path }},maxage={{ datagrid_jfr_maxage }},maxsize={{ datagrid_jfr_maxsize }},dumponexit={{ datagrid_jfr_dumponexit }},{% if datagrid_jfr_dumponexit == 'True' %}filename={{ datagrid_diag_dir }}/dumpjfr.jfr{% endif %}",
"-XX:FlightRecorderOptions=repository={{ datagrid_diag_dir }},maxchunksize={{ datagrid_jfr_maxchunksize }}"
]
Значение по умолчанию в переменной datagrid_jvm_jmx_opts:
"{% if java_ver_openjdk_version|string == '17' %}{{datagrid_jvm_jfr_openjdk17_opts}}{% elif java_ver_openjdk_version|string == '11' %}{{datagrid_jvm_jfr_openjdk11_opts}}{% else %}{{datagrid_jvm_jfr_openjdk1_8_opts}}{% endif %}"
Значение по умолчанию в переменной datagrid_jvm_jmx_opts:
[
"-XX:+UseG1GC","-XX:+AggressiveOpts","-XX:+PrintGCApplicationConcurrentTime",
"-XX:+PrintClassHistogramBeforeFullGC","-XX:+PrintClassHistogramAfterFullGC",
"-XX:+PrintGC","-XX:+PrintGCDetails","-XX:+PrintGCDateStamps","-XX:+PrintGCTimeStamps",
"-XX:+PrintGCApplicationStoppedTime","-XX:+UseGCLogFileRotation","-XX:+PrintTenuringDistribution",
"-XX:+TraceMetadataHumongousAllocation","-Xloggc:{{ datagrid_jvm_gc_log_file_path }}",
"-XX:NumberOfGCLogFiles=50","-XX:GCLogFileSize=50M","-XX:G1LogLevel=finest",
"-XX:+G1TraceEagerReclaimHumongousObjects","-XX:+PrintSafepointStatistics",
"-XX:PrintSafepointStatisticsCount=1","-XX:LogFile={{ datagrid_jvm_safepoint_log }}"
]
Значение по умолчанию в переменной datagrid_gc_jvm_openjdk17_opts:
[
"-Xlog:gc*=debug:file={{ datagrid_jvm_gc_log_file_path }}:time,uptime,tags:filecount=50,filesize=50M",
"-Xlog:safepoint=debug:file={{ datagrid_jvm_safepoint_log }}:time,uptime,tags:filecount=50,filesize=50M"
]
Значение по умолчанию в переменной datagrid_gc_jvm_openjdk11_opts:
[
"-Xlog:gc*=debug:file={{ datagrid_jvm_gc_log_file_path }}:time,uptime,tags:filecount=50,filesize=50M",
"-Xlog:safepoint=debug:file={{ datagrid_jvm_safepoint_log }}:time,uptime,tags:filecount=50,filesize=50M"
]
Значение по умолчанию в переменной datagrid_gc_jvm_openjdk_opts:
"{% if java_ver_openjdk_version|string == '17' %}{{ datagrid_gc_jvm_openjdk17_opts }}{% elif java_ver_openjdk_version|string == '11' %}{{ datagrid_gc_jvm_openjdk11_opts }}{% else %}{{ datagrid_gc_jvm_openjdk1_8_opts }}{% endif %}"
Значение по умолчанию в переменной datagrid_jvm_openjdk_opts:
"{% if java_ver_openjdk_version|string == '17' %}{{ datagrid_jvm_openjdk17_opts }}{% elif java_ver_openjdk_version|string == '11' %}{{ datagrid_jvm_openjdk17_opts }}{% else %}{{ datagrid_jvm_openjdk1_8_opts }}{% endif %}"
Значение по умолчанию в переменной datagrid_java_options:
"{{ datagrid_xmx_jvm_opts + datagrid_cluster_jvm_opts + datagrid_common_jvm_opts + datagrid_jvm_jmx_opts + datagrid_gc_opts + datagrid_java_security + datagrid_jvm_openjdk + datagrid_Log4J2_jvm }}"
Значение по умолчанию в переменной datagrid_configurator_jvm_options:
[
"-Dgroup.id={{ datagrid_configurator_group_id }}{{ '_client' if datagrid_is_client else '' }}",
"-Dnode.id={{ datagrid_configurator_host_id }}",
"-Dmodule.id={{ datagrid_audit_moduleId }}",
"-Dconfig-store.disabled={{ 'false' if not (datagrid_use_configurator_property_from_file|bool) else 'true' }}",
"-Dplatform-config=file:{{ datagrid_platform_config_path }}"
]
Переменные безопасности для работы по SSL#
Переменная |
Тип |
Значение по умолчанию |
Описание |
|---|---|---|---|
|
|
|
Включает SSL |
|
|
|
Использует плагин безопасности |
|
|
90 |
Количество времени, за сколько будет предупреждение об истечении сертификата |
|
|
|
Устанавливает генерацию самоподписанных хранилищ с ключами |
|
|
|
Используемый тип хранилища |
|
|
|
Стандарт открытых ключей |
|
|
|
Пароль для хранилища с ключами |
|
|
|
Пользователь серверверных узлов |
|
|
|
Пользователь клиентских узлов (для тонких клиентов) |
|
|
|
Пароль пользователя клиентских узлов |
|
|
|
Администратор DataGrid |
|
|
|
Пароль администратора DataGrid |
|
|
|
Администратор привилегий DataGrid |
|
|
|
Пароль администратора привилегий DataGrid |
|
|
|
Имя файла и директория, в которой создаются |
|
|
|
Имя файла и директория, в которой создаются |
|
|
|
Имя файла и директория, в которой создаются |
|
|
|
Имя файла и директория, в которой создаются |
|
|
|
Имя файла и директория, в которой создаются |
|
|
|
Имя файла и директория, в которой создаются |
|
|
|
Имя файла и директория, в которой создаются |
|
|
|
Имя файла и директория, в которой создаются |
|
|
|
Имя файла и директория, в которой создаются |
|
|
|
Имя файла и директория, в которой создаются |
|
|
|
Имя файла и директория, в которой создаются |
|
|
|
Имя файла и директория, в которой создаются |
|
|
|
Имя файла и директория, в которой создаются |
|
|
|
Путь к хранилищу ключей на управляющем сервере |
|
|
|
Путь к хранилищу ключей на управляющем сервере |
|
|
|
Путь к доверенным сертификатам на управляющем сервере |
|
|
|
Путь к закрытому ключу от серверного сертификата на управляющем сервере |
|
|
|
Путь к сертификату сервера на управляющем сервере |
|
|
|
Путь к хранилищу ключей на сервере |
|
|
|
Путь к хранилищу ключей на сервере |
|
|
|
Путь к хранилищу ключей на сервере |
|
|
|
Путь к хранилищу ключей на сервере |
|
|
|
Пароль для хранилища с ключами |
|
|
|
Путь к хранилищу с ключами |
|
|
|
Переносит хранилище с ключом для администратора Ignite на серверы |
|
|
|
Путь к хранилищу ключей на управляющем сервере |
|
|
|
Путь к закрытому ключу на управляющем сервере |
|
|
|
Путь к сертификату на управляющем сервере |
|
|
|
Путь к хранилищу ключей на сервере |
|
|
|
Пароль для хранилища с ключами |
|
|
|
Путь к хранилищу ключей на сервере |
|
|
|
Пароль для хранилища с ключами |
|
|
|
|
|
|
|
|
|
|
|
Переносит хранилище с ключом для администратора привилегий Ignite на серверы |
|
|
|
Путь к хранилищу ключей на управляющем сервере |
|
|
|
Путь к закрытому ключу на управляющем сервере |
|
|
|
Путь к сертификату на управляющем сервере |
|
|
|
Путь к хранилищу ключей на сервере |
|
|
|
Путь к хранилищу ключей на сервере |
|
|
|
Путь к хранилищу ключей на сервере |
|
|
|
Имя администратора DataGrid |
|
|
|
Пароль администратора DataGrid |
|
|
|
Включение перезаписи файла |
|
|
|
Формирование конфигурационного файла для клиентского узла DataGrid |
|
|
|
Путь к хранилищу ключей на управляющем сервере |
|
|
|
Путь к закрытому ключу на управляющем сервере |
|
|
|
Путь к сертификату на управляющем сервере |
|
|
|
Путь к хранилищу ключей на сервере |
|
|
|
Пароль для хранилища с ключами |
|
|
|
Путь к хранилищу ключей на сервере |
|
|
|
Пароль для хранилища с ключами |
|
|
|
|
|
|
|
|
|
|
|
Имя пользователя для серверных узлов |
|
|
|
Пароль пользователя для серверных узлов |
|
|
|
Путь к шаблону для файла с ролями, привилегиями и пользователями DataGrid |
|
|
|
Путь к файлу на серверах |
|
|
|
Включение перезаписи файла |
|
|
|
Имя пользователя для клиента DataGrid |
|
|
|
Пароль пользователя для клиента DataGrid |
|
|
|
Список всех хранилищ ключей и сертификатов на управляющем сервере |
Переменные для настройки проверки ОС#
Переменные для управления скриптом проверки ОС#
Переменная |
Тип |
Значение по умолчанию |
Описание |
|---|---|---|---|
|
|
|
Включает проверку ОС на соответствие требованиям DataGrid |
|
|
|
Путь с именем скрипта |
|
|
|
Путь к сформированному скрипту проверки (checklist.sh) |
|
|
|
Путь, по которому создан отчет о проверке |
|
|
|
Включает игнорирование результатов работы скрипта проверки |
|
|
|
Включает вывод в log-файл успешно пройденных этапов в скрипте проверки |
|
|
|
Включает вывод в log-файл пропущенных этапов в скрипте проверки |
|
|
|
Включает вывод в консоль работу скрипта проверки |
|
|
|
Включает цветной вывод в консоль работу скрипта проверки |
|
|
|
Включает создание log-файла работы скрипта |
|
|
|
Определяет путь к log-файлу |
Переменные для определения пороговых значений и настройки скрипта тестирования#
Переменная |
Тип |
Значение по умолчанию |
Описание |
|---|---|---|---|
|
|
|
Список игнорируемых тестов для скрипта проверки |
|
|
|
Список игнорируемых сетевых интерфейсов |
|
|
|
Включает проверку физического сетевого интерфейса |
|
|
4096 |
Значение для проверки |
|
|
4096 |
Значение для проверки |
|
|
0 |
Значение для проверки |
|
|
|
Проверка имени сервера в |
|
|
|
Исключение вывода в консоль типа используемого диска |
|
|
900 |
Значение для проверки опции |
|
|
1 |
Значение для проверки опции |
|
|
1 |
Значение для проверки опции |
|
|
1 |
Значение для проверки опции |
|
|
10240 |
Минимальное значение для проверки портов TCP |
|
|
46000 |
Максимальное значение для проверки портов TCP |
|
|
1 |
Значение для проверки опции |
|
|
1500000 |
Значение для проверки опции |
|
|
1600000 |
Значение для проверки опции |
|
|
1 |
Значение для проверки опции |
|
|
3 |
Значение для проверки опции |
|
|
3 |
Значение для проверки опции |
|
|
10 |
Значение для проверки опции |
|
|
0 |
Значение для проверки опции |
|
|
1 |
Значение для проверки опции |
|
|
500 |
Значение для проверки опции |
|
|
20 |
Значение для проверки опции |
|
|
100 |
Значение для проверки опции |
|
|
2 |
Значение для проверки опции |
|
|
100 |
Значение для проверки опции |
|
|
0 |
Значение для проверки опции |
|
|
0 |
Значение для проверки опции |
|
|
10496000 |
Значение для проверки опции |
|
|
|
Значение для проверки опции |
|
|
|
Значение для проверки опции |
|
|
|
Значение для проверки опции |
|
|
300000 |
Значение для проверки опции |
|
|
300000 |
Значение для проверки опции |
|
|
300000 |
Значение для проверки опции |
|
|
300000 |
Значение для проверки опции |
|
|
300 |
Значение для проверки опции |
|
|
7 |
Значение для проверки опции |
|
|
30 |
Значение для проверки опции |
|
|
3 |
Значение для проверки опции |
|
|
2.9 |
Минимальная версия Ansible для работы роли |
|
|
2.11 |
Максимальная версия Ansible ограничивающая работу роли |
|
|
Значение по умолчанию смотрите внизу таблицы |
Список папок для проверки базового типа диска |
Значение по умолчанию в переменной datagrid_checklist_dir:
[
"{{ datagrid_work_dir }}",
"{{ datagrid_data_dir }}",
"{{ datagrid_wal_dir }}",
"{{ datagrid_wal_archive_dir }}",
"{{ datagrid_diag_dir }}",
"{{ datagrid_log_dir }}"
]