Я пытаюсь очистить журналы мертвых штормовых заданий, которые хранятся в storm_log_path/workers-artifacts/
Я использую 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 или есть другой подход?
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), что на самом деле вообще не запускает службу очистки. . Мне кажется, что они забыли упомянуть об этом в своих документах, поэтому администраторы, желающие настроить службу, автоматически установили бы это.
После установки значения и перезапуска логвьювера он сразу начал чистить файлы, как я мог видеть в логах. Так что спасибо, что подняли этот вопрос, иначе он бы ускользнул от моего внимания!
даже они им не пользуются storm default.yaml github.com/apache/storm/blob/master/conf/defaults.yaml
Ага. Я думаю, было бы неплохо иметь его там. Я постараюсь создать PR, когда найду время.
хороший улов, я не заметил эту опцию, и она работает очень хорошо