zookeeper 事务日志变得非常大

Posted

技术标签:

【中文标题】zookeeper 事务日志变得非常大【英文标题】:zookeeper transactional logs grow to be very big 【发布时间】:2017-03-29 02:02:38 【问题描述】:

(数千兆字节!) 并且在集群的每台机器上总是有一个或最多两个事务日志文件,知道可能有多个快照! .. 引入 autopurge.purgeInterval 和 autopurge.snapRetainCount 有助于快照,但它对事务日志没有任何影响,因为这些日志文件的数量总是小于 snapRetainCount ! 有没有办法限制这些事务日志的大小?并且不应该将事务日志分成多个文件而不是一个大文件。 注意:我使用的是 zookeeper-3.4.6

【问题讨论】:

我正在使用带有 clickhouse 集群的 zookeeper。我也遇到了同样的问题:日志文件和快照文件非常大。我刚刚介绍了 autopurge.purgeInterval 和 autopurge.snapRetainCount。希望它有效。我不认为我们可以限制日志的大小。 【参考方案1】:

如果您使用的是 Apache Storm,那么您可以编写一个 cron 作业,根据您的容量在达到指定/限制大小时清除事务日志。

我也使用过storm,当zookeeper进程过去主要是因为txlog大而停止时,我遇到了问题。

我写了一个用于清除大型 txlog 的 cron 作业

由于您将创建快照,因此您的拓扑将使用相同的配置重新启动,并且在 zookeeper 重新启动时将分配监督员

【讨论】:

以上是关于zookeeper 事务日志变得非常大的主要内容,如果未能解决你的问题,请参考以下文章

SQL SERVER 日志已满的处理方法 (转)

如何读取 Zookeeper 事务日志?

zookeeper 清理snapshot及事务日志.md

zookeeper事务日志在哪儿

Zookeeper日志文件&事务日志&数据快照

Zookeeper源码阅读数据存储-日志