AWS ElasticSearch Java Process Limit - PullRequest
       28

AWS ElasticSearch Java Process Limit

0 голосов
/ 25 сентября 2019

В документации AWS разъясняется следующее: Лимит процессов Java

Amazon ES ограничивает процессы Java размером до 32 ГБ.Опытные пользователи могут указать процент кучи, используемой для полевых данных.Для получения дополнительной информации см. Раздел Настройка дополнительных параметров и JVM OutOfMemoryError.

Типы экземпляров эластичного поиска охватывают до 500 ГБ памяти - поэтому мой вопрос (как любитель Java / JVM) состоит в том, сколько процессов Java выполняет ElasticSearchбегать?Я предполагаю, что экземпляр ElasticSearch объемом 500 ГБ (r4.16xlarge.elasticsearch) каким-то образом собирается использовать более 32 ГБ + любые издержки хост-системы?

1 Ответ

0 голосов
/ 25 сентября 2019

Elasticsearch использует один Java-процесс (на узел).

Действительно, как указано, рекомендуется не использовать 32 ГБ ОЗУ по соображениям эффективности (JVM потребуется использовать указатели на 64 бита, что приведет к снижению производительности).).

Другая рекомендация - оставить память для кэша файловой системы, который lucene активно использует для загрузки значений документов и информации с диска в память.

В зависимости от рабочей нагрузкилучше запускать несколько виртуальных машин на одном 500-гигабайтном сервере.лучше использовать виртуальные машины 64 ГБ - 128 ГБ, каждая из которых разделена между 31 ГБ для Elasticsearch и остальной частью для кэша файловой системы.

  • несколько ВМ на сервере означает, что каждая ВМ является узлом Elasticsearch.
...