Сброс данных из исторической памяти узлов в глубокое хранилище

Первоначально я установил кластер друидов с двумя историческими узлами по 30 ГБ памяти каждый. 2 узла среднего менеджера, один узел с работающим координатором и повелителем, 1 узел брокера.

После успешного запуска в течение 3-4 недель я увидел, что мои задачи оставались в рабочем состоянии даже после периода окна. Затем я добавил еще один исторический узел с такой же конфигурацией, в результате мои задачи снова стали работать нормально. Это означало, что все данные, загруженные в druid, будут сохраняться в памяти, и мне придется продолжать добавлять исторические узлы.

Есть ли способ сбросить некоторые данные из памяти в глубокое хранилище, и они должны загружаться в память всякий раз, когда выполняется запрос к этому набору данных? Каждый из моих исторических узлов имеет 30 ГБ ОЗУ. Конфиги:

druid.processing.buffer.sizeBytes = 1073741824

druid.segmentCache.locations = [{"путь": "var / druid / segment-cache", "maxSize": 32212254720}]

druid.port = 7080

druid.service = друид / исторический

druid.server.maxSize = 100000000000

druid.server.http.numThreads = 50

druid.processing.numThreads = 5 druid.query.groupBy.maxResults = 10000000

druid.query.groupBy.maxOnDiskStorage = 10737418240


person Abhishek S    schedule 19.07.2018    source источник
comment
Это зависит от конфигурации друидов для исторических узлов, добавьте конфигурации в свои вопросы, чем я могу помочь.   -  person mdeora    schedule 20.07.2018
comment
Спасибо @mdeora. Я добавил в вопрос конфигурации для исторического узла.   -  person Abhishek S    schedule 23.07.2018
comment
Пожалуйста, также добавьте свой размер данных.   -  person mdeora    schedule 23.07.2018
comment
Я не совсем уверен, как это вычислить, но в каталоге сегментного кеша я могу дисковое пространство размером 49 ГБ, используемое на каждом из 4 исторических узлов. В настоящее время я добавляю один узел в неделю.   -  person Abhishek S    schedule 23.07.2018
comment
Я не думаю, что это проблема с памятью или дисковым пространством, что установлено druid.worker.capacity? и сколько ядер процессора назначено на исторические данные?   -  person mdeora    schedule 23.07.2018
comment
рабочая емкость установлена ​​на 4. каждый исторический узел имеет 8 процессоров. У меня нет проблем с созданием работы. Задание создается, но остается в рабочем состоянии даже после завершения его окна. Когда я добавляю еще один исторический узел, он переходит в состояние успеха. Мои последовательные задания работают нормально в течение нескольких дней, и я снова сталкиваюсь с той же проблемой.   -  person Abhishek S    schedule 24.07.2018


Ответы (1)


Как уже упоминалось в вопросе, моя проблема заключалась в том, что мне приходилось запускать новый узел каждые несколько дней, не зная почему. Основной причиной было дисковое пространство на каждом историческом узле. По сути, даже если druid отправляет данные в глубокое хранилище, он также сохраняет все данные локально на исторических узлах. Таким образом, вы можете хранить только данные, равные сумме конфигурации 'druid.server.maxSize' во всех исторических узлах. Если вы не хотите масштабировать по горизонтали, вы можете увеличить диск исторических узлов и увеличить значение этой конфигурации и перезапустить исторические узлы.

person Abhishek S    schedule 31.10.2018