Настройка межкластерных репликаторов¶
В этом руководстве описано, как настроить репликаторы данных (компоненты Gateway/Destination) между двумя кластерами (Cluster A и Cluster B).
Параметры Gateway и Destination задаются в файлах конфигурации YAML. Для каждого направления межкластерной репликации – из Cluster A в Cluster B, из Cluster B в Cluster A – используется отдельный файл конфигурации. Полный список опций конфигурации репликаторов данных можно найти в разделе Конфигурация репликаторов данных.
Перед настройкой межкластерных репликаторов данных требуется подготовить:
активный и пассивный кластеры Tarantool;
кластер хранилища состояния на базе etcd или Tarantool.
Содержание:
Конфигурация файла для репликации данных с Cluster A на Cluster B
Конфигурация файла для репликации данных с Cluster B на Cluster A
Конфигурация файла для репликации данных с Cluster A на Cluster B¶
Чтобы сконфигурировать репликаторы, создайте файл config_a_b.yaml
в домашней директории.
Укажите, что 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
означает, что этот узел будет только получать данные без записи своего идентификатора в исходный кластер.
Перечислите узлы типа
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
– пароль для подключения к экземпляру кластера.
В секции
destination.gateways
укажите адрес и порт gRPC-сервера, который управляет репликацией:destination: gateways: - host: 192.168.64.9 port: 10080
destination
– целевой кластер, в который реплицируются данные;gateways
– список шлюзов, через которые передаются данные;host
– gRPC-сервер, с которого Destination получает данные.
Определите, что конечный пункт репликации – 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-адресами и количеством узлов.
Укажите, что TCF Gateway будет инициировать репликацию:
gateway: grpc_server: host: 192.168.64.12 port: 10080 replica_type: anonymous
Перечислите узлы типа
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.
В секции
destination.gateways
укажите адрес и порт gRPC-сервера, который управляет репликацией:destination: gateways: - host: 192.168.64.12 port: 10080
Определите, что конечный пункт репликации – 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