0

我知道大多数系统都应该进行监控以确保不会发生这种情况(并且我们应该正确设置保留策略),但我只是好奇如果 Kafka Broker 确实耗尽了磁盘空间会发生什么(例如,如果我们将保留时间设置为 30 天,但代理在第一天就用完了磁盘空间)?

在单个 Broker 场景中,Broker 是否只是停止接收任何新消息并向 Producer 返回异常?还是删除旧消息为新消息腾出空间?

在多Broker场景中,假设我们有Broker A(分区的leader,但没有更多磁盘空间)和Broker B(分区的follower,仍然有磁盘空间),leader会转移到Broker B吗?当两个经纪人都用完空间时会发生什么?它是否也向生产者返回异常?

4

1 回答 1

0

假设主数据目录不在单独的卷上,操作系统进程本身将开始锁定,因为设备上没有剩余空间。

否则,如果日志目录与 Kafka 隔离,您可以预期任何生产者确认停止工作。不过,我不确定是否将特定的错误消息返回给客户端。据我所知,代理只是停止响应 Kafka 客户端请求,我们不得不通过 SSH 连接到他们,停止 kafka 服务,并手动清理文件,而不是等待保留策略。不,经纪人不会抢占旧数据以支持新记录

于 2022-02-06T14:20:35.867 回答