Настройка межкластерных репликаторов | Clusters_Federation
Руководство пользователя Настройка межкластерных репликаторов

Настройка межкластерных репликаторов

В этом руководстве описано, как настроить репликаторы данных (компоненты Gateway/Destination) между двумя кластерами (Cluster A и Cluster B).

Параметры Gateway и Destination задаются в файлах конфигурации YAML. Для каждого направления межкластерной репликации – из Cluster A в Cluster B, из Cluster B в Cluster A – используется отдельный файл конфигурации. Полный список опций конфигурации репликаторов данных можно найти в разделе Конфигурация репликаторов данных.

Перед настройкой межкластерных репликаторов данных требуется подготовить:

  • активный и пассивный кластеры Tarantool;

  • кластер хранилища состояния на базе etcd или Tarantool.

Содержание:

Конфигурация файла для репликации данных с Cluster A на Cluster B

Чтобы сконфигурировать репликаторы, создайте файл config_a_b.yaml в домашней директории.

  1. Укажите, что TCF Gateway будет инициировать репликацию:

    gateway:
      grpc_server:
        host: 192.168.64.9
        port: 10080
      replica_type: anonymous
    
    • gateway – основной блок настроек репликации;

    • grpc_server – адрес и порт gRPC-сервера, который управляет репликацией;

    • host – IP-адрес gRPC-сервера;

    • port – порт, на котором работает gRPC-сервер.

    • replica_type – тип репликации. Тип anonymous означает, что этот узел будет только получать данные без записи своего идентификатора в исходный кластер.

  2. Перечислите узлы типа storage для шардированного хранилища, с которых Gateway будет забирать информацию:

    gateway:
      stream_instances:
        - uri: 192.168.64.9:3303
          user: tcf-replicator
          password: secret
        - uri: 192.168.64.9:3304
          user: tcf-replicator
          password: secret
        - uri: 192.168.64.9:3305
          user: tcf-replicator
          password: secret
        - uri: 192.168.64.9:3306
          user: tcf-replicator
          password: secret
    
    • stream_instances – список экземпляров-источников данных в Cluster A. Здесь репликация данных идет с четырех экземпляров Cluster A.

    • uri – адреса экземпляров кластера, с которых Gateway забирает данные. Первый узел в списке, с которого Gateway получает поток данных, использует порт 3303;

    • user – имя пользователя для подключения к экземпляру кластера;

    • password – пароль для подключения к экземпляру кластера.

  3. В секции destination.gateways укажите адрес и порт gRPC-сервера, который управляет репликацией:

    destination:
      gateways:
        - host: 192.168.64.9
          port: 10080
    
    • destination – целевой кластер, в который реплицируются данные;

    • gateways – список шлюзов, через которые передаются данные;

    • host – gRPC-сервер, с которого Destination получает данные.

  4. Определите, что конечный пункт репликации – Cluster B. Укажите узлы типа router (в этом примере 192.168.64.9:3301 и 192.168.64.9:3302), с которых TCF Destination получает информацию о составе кластера:

    destination:
      vshard_routers:
        hosts:
          - "192.168.64.12:3301"
          - "192.168.64.12:3302"
        user: tcf-replicator
        password: secret
    
    • vshard_routers – список экземпляров типа router в Cluster B;

    • hosts – адреса узлов, которые работают как маршрутизаторы (192.168.64.12:3301 и 192.168.64.12:3302);

    • user – учетная запись для записи данных в Cluster B;

    • password – пароль для аутентификации.

В результате получится конфигурационный файл для передачи данных с Cluster A на Cluster B:

gateway:
  grpc_server:
    host: 192.168.64.9
    port: 10080
  replica_type: anonymous
  stream_instances:
    - uri: 192.168.64.9:3303
      user: tcf-replicator
      password: secret
    - uri: 192.168.64.9:3304
      user: tcf-replicator
      password: secret
    - uri: 192.168.64.9:3305
      user: tcf-replicator
      password: secret
    - uri: 192.168.64.9:3306
      user: tcf-replicator
      password: secret
destination:
  gateways:
    - host: 192.168.64.9
      port: 10080
  vshard_routers:
    hosts:
      - "192.168.64.12:3301"
      - "192.168.64.12:3302"
    user: tcf-replicator
    password: secret

Конфигурация файла для репликации данных с Cluster B на Cluster A

Чтобы сконфигурировать репликаторы, создайте файл config_b_a.yaml в домашней директории. Этот файл аналогичен ранее созданному файлу config_b_a.yaml, но выполняет обратную задачу – репликацию данных из Cluster B в Cluster A. Содержимое этих файлов различается только IP-адресами и количеством узлов.

  1. Укажите, что TCF Gateway будет инициировать репликацию:

     gateway:
       grpc_server:
         host: 192.168.64.12
         port: 10080
       replica_type: anonymous
    
  2. Перечислите узлы типа storage для шардированного хранилища, с которых Gateway будет забирать информацию:

     gateway:
       stream_instances:
         - uri: 192.168.64.12:3303
           user: tcf-replicator
           password: secret
         - uri: 192.168.64.12:3304
           user: tcf-replicator
           password: secret
         - uri: 192.168.64.12:3305
           user: tcf-replicator
           password: secret
         - uri: 192.168.64.12:3306
           user: tcf-replicator
           password: secret
         - uri: 192.168.64.12:3307
           user: tcf-replicator
           password: secret
         - uri: 192.168.64.12:3308
           user: tcf-replicator
           password: secret
    

    Здесь 6 узлов, а не 4, как в Cluster A.

  3. В секции destination.gateways укажите адрес и порт gRPC-сервера, который управляет репликацией:

     destination:
       gateways:
         - host: 192.168.64.12
           port: 10080
    
  4. Определите, что конечный пункт репликации – Cluster A. Укажите узлы типа router (в этом примере 192.168.64.9:3301 и 192.168.64.9:3302), с которых TCF Destination получает информацию о составе кластера:

     destination: 
       vshard_routers:
         hosts:
           - "192.168.64.9:3301"
           - "192.168.64.9:3302"
         user: tcf-replicator
         password: secret
    

В результате получится конфигурационный файл для передачи данных с Cluster B на Cluster A:

gateway:
  grpc_server:
    host: 192.168.64.12
    port: 10080
  replica_type: anonymous
  stream_instances:
    - uri: 192.168.64.12:3303
      user: tcf-replicator
      password: secret
    - uri: 192.168.64.12:3304
      user: tcf-replicator
      password: secret
    - uri: 192.168.64.12:3305
      user: tcf-replicator
      password: secret
    - uri: 192.168.64.12:3306
      user: tcf-replicator
      password: secret
    - uri: 192.168.64.12:3307
      user: tcf-replicator
      password: secret
    - uri: 192.168.64.12:3308
      user: tcf-replicator
      password: secret
destination:
  gateways:
    - host: 192.168.64.12
      port: 10080
  vshard_routers:
    hosts:
      - "192.168.64.9:3301"
      - "192.168.64.9:3302"
    user: tcf-replicator
    password: secret
Нашли ответ на свой вопрос?
Обратная связь