DSE SOLR OOMing

У нас был запущен кластер DSE SOLR с 3 узлами, и недавно мы добавили новое ядро. Примерно через неделю нормальной работы все узлы SOLR теперь находятся в состоянии OOMing. Заполните как кучу JVM (установленную на 8 ГБ), так и системную память. Затем также постоянно сбрасывают memtables на диск.

Кластер DSE 3.2.5 с RF=3

вот solrconfig из нового ядра:

http://pastie.org/8973780


person Russ Bradberry    schedule 27.03.2014    source источник


Ответы (3)


Насколько велик ваш индекс Solr по отношению к объему системной памяти, доступной ОС для кэширования страниц файловой системы. По сути, ваш индекс Solr должен помещаться в кэш файловой системы ОС (объем системной памяти, доступный после запуска DSE, но еще не обработавший значительный объем данных).

Кроме того, сколько документов Solr (строк Cassandra) и сколько полей (столбцов Cassandra) заполняется на каждом узле? Жесткого ограничения нет, но от 40 до 100 миллионов — хороший ориентир в качестве верхнего предела — на узел.

И сколько системной памяти и сколько кучи JVM доступно, если вы перезапустите DSE, но до того, как начнете нагружать сервер?

person Jack Krupansky    schedule 27.03.2014
comment
Как проверить размер индекса SOLR? Есть 3 ядра, 2 из которых имеют около 35 миллионов документов и около 13 полей, другое около 65 миллионов документов и 14 полей. Я не знаю, как протестировать сервер без нагрузки, так как не могу остановить запись. - person Russ Bradberry; 27.03.2014
comment
Является ли 40-100 м верхним пределом размера узла независимо от вычислительной мощности и памяти на машине? иоу. Использование более мощной машины ничего не изменит? И если 40-100 м — это ограничение, означает ли это, что с точки зрения производительности DSE Solr/C* имеет смысл делать много менее мощных машин с большим дисковым пространством? - person Eric Lubow; 28.03.2014
comment
Ни одно из этих ограничений не является жестким - просто примерные рекомендации, прежде чем вам нужно быть намного осторожнее. Иногда помогают более крупные и быстрые машины, но в большинстве случаев более мелкие машины помогают больше, поскольку Solr может быть настолько интенсивным с точки зрения вычислений и ввода-вывода (если индекс не помещается в памяти). - person Jack Krupansky; 31.03.2014
comment
Чтобы узнать размер индекса Solr, загляните в каталог cassandra/solr. Это просто сумма всех подкаталогов для Solr на узле. - person Jack Krupansky; 31.03.2014
comment
Размер индекса solr (рассчитанный из cassandra/data/solr.data/) составляет 43G. - person Russ Bradberry; 31.03.2014

Для RF=N, где N — общее количество узлов в кластере или, по крайней мере, в центре обработки данных поиска, все данные будут храниться на всех узлах, что допустимо для небольших наборов данных, но не подходит для больших наборов данных.

Для RF=n это означает, что каждый узел будет иметь X/N*n строк или документов, где X — общее количество строк или документов для всех семейств столбцов в центре обработки данных. X/N*n — это число, которое вы должны стараться держать ниже 100 миллионов. Это не жесткое ограничение — некоторые наборы данных и аппаратное обеспечение могут обрабатывать значительно больше, а некоторые наборы данных и аппаратное обеспечение могут даже не вместить столько. Вам придется найти число, которое лучше всего подходит для вашего собственного приложения, но диапазон от 40 до 100 миллионов — это хорошее начало.

Короче говоря, самая безопасная оценка заключается в том, чтобы X/N*n не превышало 40 миллионов для узлов Solr. 100 может подойти для некоторых наборов данных и более мощного оборудования.

person Jack Krupansky    schedule 31.03.2014

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

Один из методов заключается в использовании полей «DocValues» для фасетов, поскольку DocValues ​​могут храниться вне кучи.

Запросы фильтра можно пометить как cache=false для экономии памяти кучи.

Кроме того, различные кэши Solr могут быть уменьшены в размере или даже обнулены. Это в solrconfig.xml.

person Jack Krupansky    schedule 31.03.2014