# Можно ли размещать на одном физическом сервере два Elasticsearch в роли data?

**URL:** <https://discuss.elastic.co/t/elasticsearch-data/251916>\
**Category:** Вопросы на русском языке\
**Created:** [October 13, 2020, 2:06pm UTC](https://discuss.elastic.co/t/elasticsearch-data/251916 "2020-10-13T14:06:37Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sergei\_Frolov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sergei_frolov/32/47922_2.png) [@Sergei\_Frolov](https://discuss.elastic.co/u/Sergei_Frolov)\
**Post date:** [October 13, 2020, 2:06pm UTC](https://discuss.elastic.co/t/elasticsearch-data/251916/1 "2020-10-13T14:06:37Z")

</div>

Добрый день!

Скажите, можно ли размещать на одном физическом сервере два Elasticsearch в роли data?

Чем это чревато? Аллоцировав под heap и кэш память, не начнут ли они вытеснять друг-друга?

И еще скажите, какой предел памяти и ЦПУ для каждой ноды? Про ограничение в 31гб хипа мне известно.

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [October 13, 2020, 2:51pm UTC](https://discuss.elastic.co/t/elasticsearch-data/251916/2 "2020-10-13T14:51:57Z")

</div>

> [@Sergei\_Frolov](#):
>
> Скажите, можно ли размещать на одном физическом сервере два Elasticsearch в роли data?

Можно. Только надо учитывать, что одна нода может использовать столько-же потоков ЦПУ, как и две, так как в ней практически нет ограничений на многопоточность. Единственное, что вы получаете (кроме головной боли с настройкой) - это удвоение хипа. Так что главный вопрос в том, а с хипом ли у вас в данный момент проблемы?

---

<div class="post-metadata">

**Author:** ![Sergei\_Frolov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sergei_frolov/32/47922_2.png) [@Sergei\_Frolov](https://discuss.elastic.co/u/Sergei_Frolov)\
**Post date:** [October 13, 2020, 3:13pm UTC](https://discuss.elastic.co/t/elasticsearch-data/251916/3 "2020-10-13T15:13:20Z")

</div>

Игорь, спасибо!

А скажите пожалуйста по поводу того, какой предел памяти и ЦПУ возможен для каждой ноды?

И остается ли с выходом 7.9 актуальным ограничение на хип в 32 ГБ?

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [October 13, 2020, 3:29pm UTC](https://discuss.elastic.co/t/elasticsearch-data/251916/4 "2020-10-13T15:29:15Z")

</div>

ЦПУ - нода будет использовать столько потоков, сколько ей дадут. Память - предела нет, все что свободно - пойдет под кэш файловой системы и ускорить производительность. Но иметь больше памяти чем размер индекса, наверное, не имеет смысла.

Ограничения в 32ГБ в 7.9 тоже практически нет, это скорее рекомендация в случае с G1. Мы очень сильно оптимизировали использование хипа. Поэтому 32ГБ должно хватать в большинстве случаев (если вы не используете огромный индекс с completions suggester или какие-то другие фичи, которые требуют большое количество хипа). Поэтому если нужно 10ГБ хипа, а вы дадите 40ГБ, то вы не только выкинули 30ГБ, вы еще и замедлили ноду из-за излишнего мусора и несжатых указателей.

---

<div class="post-metadata">

**Author:** ![Sergei\_Frolov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sergei_frolov/32/47922_2.png) [@Sergei\_Frolov](https://discuss.elastic.co/u/Sergei_Frolov)\
**Post date:** [October 13, 2020, 3:39pm UTC](https://discuss.elastic.co/t/elasticsearch-data/251916/5 "2020-10-13T15:39:41Z")

</div>

Игорь, благодарю! То есть если я имею 3 железных сервера - на каждой более 100 процессоров, и более 200 гб оперативной памяти - но их всего три. Дисков неограниченное количество. Мне нужно индексировать около 20ТБ логов в сутки, и производить по ним постоянно поиск. Мне хватит этих ресурсов? И стоит ли ставить по 2 эластика в роли дата на каждую ноду, или можно обойтись 3, по одному на ноду?

Какие настройки сделать?

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [October 13, 2020, 4:33pm UTC](https://discuss.elastic.co/t/elasticsearch-data/251916/6 "2020-10-13T16:33:51Z")

</div>

А какой канал к дискам?

Я бы начал с установок по умолчанию (может только хипа 10Г дал), напряг бы сервер и посмотрел, что ломается.

---

<div class="post-metadata">

**Author:** ![Sergei\_Frolov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sergei_frolov/32/47922_2.png) [@Sergei\_Frolov](https://discuss.elastic.co/u/Sergei_Frolov)\
**Post date:** [October 13, 2020, 4:37pm UTC](https://discuss.elastic.co/t/elasticsearch-data/251916/7 "2020-10-13T16:37:36Z")

</div>

Про канал точно не скажу, но сервера ожидаются топовые, диски NVMe.

Я вообще всегда был сторонником нод 24 CPU 64 MEM - чтобы выделить под хип половину. И таких нод - штук 40.

А как поведет себя эластик если будет держать петабайт логов на каждом сервере, а их всего три? Ведь запросов поиска ожидается очень много. Насколько я знаю, эластик хранит все в оперативной памяти.

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [October 13, 2020, 4:39pm UTC](https://discuss.elastic.co/t/elasticsearch-data/251916/8 "2020-10-13T16:39:26Z")

</div>

> [@Sergei\_Frolov](#):
>
> Насколько я знаю, эластик хранит все в оперативной памяти.

> **[Significantly decrease your Elasticsearch heap memory usage](https://www.elastic.co/blog/significantly-decrease-your-elasticsearch-heap-memory-usage)**
>
> Fitting as much data per Elasticsearch node as possible is often important to reduce costs. Learn more about the improvements coming in Elasticsearch 7.7 to dramatically reduce the amount of heap memory needed per GB of data.

---

<div class="post-metadata">

**Author:** ![Sergei\_Frolov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/sergei_frolov/32/47922_2.png) [@Sergei\_Frolov](https://discuss.elastic.co/u/Sergei_Frolov)\
**Post date:** [October 14, 2020, 8:16am UTC](https://discuss.elastic.co/t/elasticsearch-data/251916/9 "2020-10-14T08:16:42Z")

</div>

Игорь, а вы посоветовали бы на таком мега-сервере отдать все под один Эластик, или нарезать ресурсы для нескольких через докер например, для повышения производительности?

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [October 14, 2020, 2:21pm UTC](https://discuss.elastic.co/t/elasticsearch-data/251916/10 "2020-10-14T14:21:51Z")

</div>

Думаю, порезать было бы лучше для повышения отказоустойчивости (за счет небольшого уменьшения производительности). Проблема тут такая - одна нода может использовать все ресурсы, но для того, чтобы добиться большой пропускной способности при индексации, вам, скорее-всего, придется увеличить количество шард на горячих индексах (потом их надо будет слить для увеличения скорости поиска). Если Вам надо будет кластер перегрузить, то перезагрузка одной ноды будет означать уменьшение возможностей кластера на треть (практически даже больше) и при большом количестве шард, может занимать много времени.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [November 11, 2020, 2:22pm UTC](https://discuss.elastic.co/t/elasticsearch-data/251916/11 "2020-11-11T14:22:05Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
