Как очистить журналы мертвых заданий в шторме?

Я пытаюсь очистить журналы мертвых штормовых заданий, которые хранятся в storm_log_path/workers-artifacts/

  • мой текущий подход заключается в использовании задания cron или ротации журнала для очистки каталога, но у него есть проблема: он удаляет журналы, даже если задание выполняется.
  • то, что я пытаюсь сделать, это использовать конфигурацию storm для выполнения этой задачи, как написано в storm-documentation раздел «Очистка журнала». Эта опция должна очищать журналы и никогда не будет удалять журналы запущенных заданий, но это не сработало.

Я использую storm 1.2.3 и свой storm.yaml.

logviewer.childopts: "-Xmx128m"
logviewer.cleanup.age.mins: 30
logviewer.max.sum.worker.logs.size.mb: 4096
logviewer.max.per.worker.logs.size.mb: 2048

Я установил период очистки на 30 минут для проверки, но это не сработало. в каталоге журнала есть папка для заданий на прогон, там имена - jobID-countingNumber-timestamp

5faaac990788a706cb972861-1-1607352884
5faaac990788a706cb972861-1-1607358710
5faaac990788a706cb972861-1-1607528615
5faaac990788a706cb972861-1-1607587744
5faaac990788a706cb972861-2-1607353512
5faaac990788a706cb972861-2-1607507502
5faaac990788a706cb972861-3-1607354786

Как разрешить работу logviewer или есть другой подход?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
152
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

TL;DR

В вашем storm.yaml вам нужно добавить logviewer.cleanup.interval.secs: <value> для работы службы очистки logviewer. После этого перезапустите службу просмотра журналов.


Ваш вопрос вызвал у меня любопытство, поэтому я немного покопался, сначала в документации Storm, затем в журналах нашего кластера, а затем в исходном коде Storm.

Оказывается, служба очистки журнала не имеет настроенного значения по умолчанию и инициализируется с помощью null. Это не упоминается в документах, однако, изучая наши собственные журналы просмотра журналов, эта строка бросилась мне в глаза:

2020-12-10 13:34:42.129 o.a.s.d.l.u.LogCleaner main [WARN] The interval for log cleanup is not set. Skip starting log cleanup thread.

Просматривая файл конфигурации по умолчанию и источники шторма, стало ясно, что значение по умолчанию не настроено, и процесс инициализируется с помощью null ( этот файл, строка 97), что на самом деле вообще не запускает службу очистки. . Мне кажется, что они забыли упомянуть об этом в своих документах, поэтому администраторы, желающие настроить службу, автоматически установили бы это.

После установки значения и перезапуска логвьювера он сразу начал чистить файлы, как я мог видеть в логах. Так что спасибо, что подняли этот вопрос, иначе он бы ускользнул от моего внимания!

хороший улов, я не заметил эту опцию, и она работает очень хорошо

Tarek 10.12.2020 14:15

даже они им не пользуются storm default.yaml github.com/apache/storm/blob/master/conf/defaults.yaml

Tarek 10.12.2020 14:24

Ага. Я думаю, было бы неплохо иметь его там. Я постараюсь создать PR, когда найду время.

Tyreal 11.12.2020 14:41

Другие вопросы по теме