2016-09-04 2 views
0

Я новичок в elasticsearch. Предположим, у нас есть кластер с двумя узлами и имеет конфигурацию из 2 первичных осколков и одну реплику для нашего единственного индекса. Так как в узле 1 есть P0, R1 и узел 2 имеют P1, R0 , Теперь предположим, что позже я уменьшу количество реплик до 0. Затем будут разбиты осколки P0 и P1, чтобы занять пространство на диске, освобожденное репликами, и позволить мне увеличить дисковое пространство для индексации, а затем раньше, когда у меня были реплики.Elasticsearch калибровка осколков

ответ

0

Реплика-осколок занимает более или менее то же место, что и его основной, поскольку оба содержат одни и те же документы. Итак, скажем, вы указали 1 миллион документов в своем индексе, тогда каждый первичный осколок содержит более или менее половину этого количества документов, т. Е. Документ 500K, и каждая реплика содержит одинаковое количество документов.

Если каждый документ весит 1KB, то:

  • Первичный осколок Р0 имеет 500K документ вес 500MB
  • реплики осколок R0 имеет 500K документ веса 500MB
  • Первичный осколок Р1 имеет 500K документ весом 500MB
  • реплики осколок R1 имеет 500K документ весом 500MB

Это означает, тыс при вашем индексе занимает 2 ГБ дискового пространства на вашем узле. Если позже вы уменьшите количество реплик до 0, то это освободит 1 ГБ пространства, которое ваши первичные осколки смогут занять.

Однако обратите внимание, что при этом вы, конечно же, получите дисковое пространство, но у вас больше нет избыточности, и вы не сможете распространять свой индекс на два узла, что является основной идеей реплик для начала с.

Другое дело, что размер осколка ограничен физическим пределом, который он не сможет пересечь. Этот предел зависит от многих факторов, среди которых количество кучи и общая физическая память. Если у вас 2 ГБ кучи и 50 ГБ дискового пространства, вы не можете ожидать индексацию 50 ГБ данных в свой индекс, который не будет работать или будет очень медленным и неустойчивым.

=> Таким образом, пространство на диске не должно быть главным драйвером для калибровки ваших осколков. Наличие достаточного дискового пространства является необходимым условием, но не достаточным, вам также необходимо указать look at the RAM and the heap, выделенный вашему узлу ES.

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