2015-07-20 2 views
1

Есть ли способ синхронизации нескольких ES-кластеров друг с другом? Документы ES препятствуют созданию кластера, охватывающего несколько центров обработки данных. Поэтому, чтобы избежать того, что у меня будут разные ES-кластеры в каждом центре обработки данных. Мне также нужно иметь те же данные, индексированные в каждом кластере.Архитектура Elasticsearch

Одним из способов достижения этого является отправка каждого документа в каждый кластер. Но выдача «n» запросов на запись кажется ненужной. Кроме того, если некоторые запросы на запись терпят неудачу, кластеры могут потенциально не синхронизироваться.

Есть ли способ для кластера «подписаться» на изменения в другом кластере? Или отправьте записи в главный кластер (какой бы он ни был ближе к источнику данных) и пусть он в конечном итоге будет реплицироваться на другие?

Редактировать: Я читал о узлах племени. Документы говорят, что он работает только для чтения и имеет некоторые ограничения. Это что-то, что позволит мне сделать это?

ответ

0

Вы можете настроить собственную стратегию маршрутизации/распределения на идентификаторе центра обработки данных [1]. Это гарантирует, что одна копия осколка входит в каждый центр обработки данных. Пример

cluster.routing.allocation.awareness.force.dc.values: dc1,dc2 
cluster.routing.allocation.awareness.attributes: dc 

[1] https://www.elastic.co/guide/en/elasticsearch/reference/1.6/modules-cluster.html

Смежные вопросы