Elasticsearch свободное место для хранения резко сократить - PullRequest
0 голосов
/ 13 сентября 2018

Я выполнил update_by_query, чтобы скопировать значение из поля в другое поле, предназначенное для ~ 80 миллионов документов.Я принимал Elasticsearch на AWS.Во время выполнения я отслеживал показатели и обнаружил интересную проблему.

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

enter image description here

Что произошло за это время?

1 Ответ

0 голосов
/ 13 сентября 2018

Относительно FreeStorageSpace вот что говорит AWS:

Свободное место в мегабайтах для узлов в кластере. Сумма показывает общее свободное пространство для кластера. Минимум, Максимум и Среднее показывают свободное пространство для отдельных узлов. Amazon ES генерирует исключение ClusterBlockException, когда этот показатель достигает 0. Для восстановления необходимо либо удалить индексы, либо добавить более крупные экземпляры, либо добавить хранилище на основе EBS в существующие экземпляры.

Тогда вам нужно знать, как работает обновление по запросу. По сути, он будет переиндексировать новую версию каждого документа. Таким образом, в основном, если вы запустили обновление для всех ваших документов, ES пометил каждый из них как удаленный при создании новой версии. Удаленные документы занимают место до тех пор, пока не произойдет объединение сегментов, что приведет к стиранию всех документов, помеченных как удаленные, что вы можете наблюдать каждый раз, когда кривая снова поднимается в процессе.

В конце концов, похоже, что скопированное вами поле заняло 60 КБ (420 - 360 КБ).

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