Я довольно новичок в ElasticSearch, и я пытаюсь использовать его для индексации содержимого документа для наших пользователей. Содержимое документа будет извлечено с использованием Apache Tika, а также метаданные файла и относительная информация (размер, дата, расширение и т. Д.), И все они будут сохранены и проиндексированы в ElasticSearch.Проектирование кластера ElaticSearch для массивных данных
Проблема заключается в том, что я не могу заранее сказать, сколько данных я буду индексировать, поскольку это будет добавленная услуга для новых клиентов.
Я думаю о том, чтобы начать с одного узла в моем кластере, который будет иметь 1000 осколков и 1 реплику (всего 2000 обломков). Каждый клиент будет иметь свой собственный индекс, это означает, что этот узел будет поддерживать только 1000 клиентов, которых должно быть достаточно, так как у нас не так много клиентов. Как только узел будет заполнен, мы разберем кластер и добавим новый узел, и это расширит кластер для поддержки 2000 клиентов и так далее.
Моя забота о хранении. Поскольку я буду индексировать большие наборы данных, сохраненные данные будут быстро расширяться по размеру.
Для аргумента допустим, что я присоединю том 1 ГБ к моему узлу и предположим, что я не могу расширить его за пределы этого. Теперь, если я добавлю новый узел в кластер, как будет выглядеть elasticsearch, предполагая, что первый узел уже достиг своего предела хранения (скажем, теперь он использует 999 МБ).
Если давайте скажем, что у клиента A есть индекс для индекса, а размер документа - 5 МБ. как Elasticsearch ведет себя к этому? Будет ли он перемещать индекс на новый узел? или он сохраняет индекс в оригинале и отмечает новый запрос индекса как отказ?
Причина, по которой я спрашиваю об этом, заключается в том, что я буду размещать свой кластер ElasticSearch на Amazon EC2 с прилагаемым к нему томом EBS, а так как плата Amazon за предоставленный GB для EBS, было бы разумно начать с малого и расширить объем когда это необходимо, поэтому нам не нужно брать на себя огромные затраты в начале проекта.
Его 1000 черепов на узел не индексируются. У каждого индекса будет только один осколок и одна реплика. –
Я бы не стал слишком беспокоиться о настройке max max на каждый узел; пусть это будет управляться в соответствии с доступностью диска, а затем, возможно, измените его, если вы обнаружите, что у вас мало времени на ОЗУ. Оставляя ваши осколки на индекс на более высоком уровне, например 4-5, многое поможет в вашей способности распределять вашу рабочую нагрузку с течением времени. –