Шаг 5. Конфигурирование CDC (опциональный)#

Конфигурирование 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:
  - "xx.xx.xx.x:47500..47520"
  - "xx.xx.xx.y:47500..47520"

Настройте кластер, который принимает данные:

# Настройте прием данных межкластерной репликации.
datagrid_cdc_deploy_receiver: yes
# Укажите имя экземпляра CDC.
datagrid_cdc_igniteInstanceName: "cdc_cluster_2"

# Укажите адреса кластера, который принимает данные (передаются в класс `TcpDiscoverySpi`).
# Обязательно добавьте адрес сервера, с которого передаются данные, и имя порта, которое указано в `datagrid_cdc_localPort`.
datagrid_TcpDiscoverySpi_addresses:
- "xx.xx.xx.x:47500..47520"
- "xx.xx.xx.y:47500..47520"
- "xx.xx.xx.z:47600..47620"

Дополнительные параметры для CDC I2I через тонкий клиент#

Настройте кластер, который отправляет данные:

# Настройте отправку данных межкластерной репликации.
datagrid_cdc_deploy_transmitter: yes
# Укажите имя экземпляра CDC.
datagrid_cdc_igniteInstanceName: "cdc_cluster_1"
datagrid_cdc_thin_client: yes
# Укажите адреса серверов принимающего кластера.
datagrid_cdc_addresses:
   - "xx.xx.xx.x"
   - "xx.xx.xx.y"
   - "xx.xx.xx.z"
# Имя порта должно совпадать с именем порта принимающего кластера.
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#

Предварительно создайте топики в 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:
  - "xx.xx.xx.xx:9093"

Настройте кластер, который принимает данные:

# Настройте прием данных межкластерной репликации.
datagrid_cdc_deploy_receiver: yes
# Укажите адреса серверов Kafka для получения данных межкластерной репликации.
datagrid_cdc_kafka_properties_bootstrap_servers:
  - "xx.xx.xx.xx:9093"

# Укажите адрес серверов кластера DataGrid для получения данных межкластерной репликации.
datagrid_cdc_k2i_clients:
  "xx.xx.x.xx":
    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:
   - "xx.xx.xx.x"
   - "xx.xx.xx.y"
   - "xx.xx.xx.z"
# Укажите порт подключения тонкого клиента.
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 }}"