相关疑难解决方法(0)

kafka +如何避免磁盘存储空间不足

我要描述的是我们生产集群之一中的以下情况

我们有具有HDP版本2.6.4的ambari集群

群集包括3台kafka机器-每个kafka都有5 T的磁盘

我们看到的是所有kafka磁盘都具有100%的大小,因此kafka磁盘已满,这就是所有kafka代理失败的原因

df -h /kafka
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb         5T   5T   23M   100% /var/kafka
Run Code Online (Sandbox Code Playgroud)

经过调查我们发现 log.retention.hours=7 days

看来清除是在7天之后进行的,也许这就是kafka磁盘即使容量很大也能100%充满的原因– 5T

我们现在想做的是–将来如何避免这种情况?

所以

我们想知道–如何避免kafka磁盘上的已满容量

为了根据磁盘大小清除kafka磁盘,我们需要在Kafka配置中设置什么-可能吗?

以及如何知道的正确值log.retention.hours?根据磁盘大小还是其他?

apache-kafka

5
推荐指数
1
解决办法
3752
查看次数

Kafka 保留策略

假设我有一个多代理(在同一主机上运行)Kafka 设置,其中包含 3 个代理和 50 个主题,每个主题配置为具有 7 个分区和 3 的复制因子。

我有 50GB 的内存用于 kafka,并确保 Kafka 日志永远不会超过这个内存量,所以我想配置我的保留策略以防止这种情况。

我已经设置了删除清理策略:

log.cleaner.enable=true
log.cleanup.policy=delete
Run Code Online (Sandbox Code Playgroud)

并且需要配置以下属性,以便每周删除数据并且永远不会耗尽内存:

log.retention.hours
log.retention.bytes
log.segment.bytes
log.retention.check.interval.ms
log.roll.hours
Run Code Online (Sandbox Code Playgroud)

这些主题包含由总大小约为 10GB 的数据库表流式传输的数据(但插入、更新或删除在这些主题中不断流式传输)。

我应该如何配置上述参数,以便每 7 天删除一次数据,并确保在需要时可以在较短的窗口中删除数据,以免内存不足?

apache-kafka

3
推荐指数
1
解决办法
4415
查看次数

标签 统计

apache-kafka ×2