如何清理风暴中死亡的工作日志?
How to cleanup died jobs logs in storm?
我正在尝试清理存储在 storm_log_path/workers-artifacts/
中的 died storm 作业日志
- 我目前的方法是使用 cron job 或 log rotate 来清理目录,但这有一个问题,它正在删除日志,即使作业是 运行ning。
- 我想做的是使用风暴配置来执行此任务,如 storm-documentation 日志清理部分中所写,此选项应该清理日志并且永远不会删除 运行ning 的日志工作,但没有用。
我正在使用 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 清理器服务正常工作。之后重新启动日志查看器服务。
你的问题让我很好奇,所以我做了一些挖掘,首先是通过风暴文档,然后是我们集群的日志,然后是风暴源代码。
事实证明,logviewer 清理服务没有配置默认值,而是使用 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.
查看default config file and the storm sources made it clear there is no default value configured and the process is initialized with null
(this file, line 97),实际上根本没有启动清理服务。在我看来,他们忘记在他们的文档中提及这一点,因此希望配置该服务的管理员会自动设置它。
设置值并重新启动日志查看器后,它立即开始清理文件,正如我在日志中看到的那样。所以感谢你提出这个问题,否则它会引起我的注意!
我正在尝试清理存储在 storm_log_path/workers-artifacts/
中的 died storm 作业日志- 我目前的方法是使用 cron job 或 log rotate 来清理目录,但这有一个问题,它正在删除日志,即使作业是 运行ning。
- 我想做的是使用风暴配置来执行此任务,如 storm-documentation 日志清理部分中所写,此选项应该清理日志并且永远不会删除 运行ning 的日志工作,但没有用。
我正在使用 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 清理器服务正常工作。之后重新启动日志查看器服务。
你的问题让我很好奇,所以我做了一些挖掘,首先是通过风暴文档,然后是我们集群的日志,然后是风暴源代码。
事实证明,logviewer 清理服务没有配置默认值,而是使用 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.
查看default config file and the storm sources made it clear there is no default value configured and the process is initialized with null
(this file, line 97),实际上根本没有启动清理服务。在我看来,他们忘记在他们的文档中提及这一点,因此希望配置该服务的管理员会自动设置它。
设置值并重新启动日志查看器后,它立即开始清理文件,正如我在日志中看到的那样。所以感谢你提出这个问题,否则它会引起我的注意!