2013-06-20 3 views
2

У нас есть приложение Java со встроенным Elasticsearch в кластере из 14 узлов. Все данные находятся в центральной базе данных, и они индексируются в elasticsearch для запросов. Полный reindex можно сделать в любое время.Параметры настроек Shards/Replicas для высокой доступности

Система очень тяжелая, количество записей невелико. Количество документов не будет выше, чем, скажем, 300 000. Размер каждого документа сильно варьируется от всего лишь нескольких идентификаторов до извлеченного текста из, например, текстовых документов нескольких страниц.

Я хочу убедиться, что в случае полного сбоя должно быть достаточно, чтобы один или два узла были доступны для работы системы.

Конфигурация записи не должна быть проблемой, поскольку основная копия данных находится в базе данных, и кажется, что ES способна разрешать конфликтующие данные, используя новейшую версию (в нашем случае это должно быть все в порядке)

Мое первое, хотя это использовать 1 осколок и 13 реплик. Это, естественно, гарантирует, что все узлы имеют доступ ко всем данным. Это также может быть выполнено с помощью 2-х черепов/13 реплик, поэтому это дает возможность гарантировать, что все данные доступны, количество реплик должно быть числом узлов - 1, не зависящим от количества осколков (что может быть что угодно).

Если требование количества узлов сводится к «2 узлам должно быть в любое время», то должно быть достаточно распределение черепов/реплик «x/количество узлов - 2».

Так, для вопроса:

утверждающий выше настройки и что мои мысли правильно, будет установка с 1 осколок/13 реплики имеют смысл или будет ли что-нибудь, чтобы получить, добавляя больше черепков и запустить, например, настройка 4 осколков/13 реплик?

ответ

0

После небольшого исследования и общения с ES-гуру;

До тех пор, пока размер осколка достаточно мал, наиболее эффективный способ настройки этого кластера действительно будет 1 осколочно, только с 13 репликами. Я не смог определить пороговый размер осколка, чтобы это начало ухудшаться.

0

Если индекс большой ... вам понадобится более одного осколка (если вы хотите выполнить партию). Вам действительно нужна 13 копий? Когда вы помещаете только 2 реплики, ES управляет этим, чтобы сохранить его таким образом, если главный узел терпит неудачу, ES создаст новый ответ. Может быть, вам понадобится и балансировочный узел.

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