0

我刚开始接触加缪。我计划每小时运行一次加缪工作。我们每小时收到约 80000000 条消息(平均大小约 4KB)。

如何设置以下属性:

# max historical time that will be pulled from each partition based on event timestamp
kafka.max.pull.hrs=1
# events with a timestamp older than this will be discarded.
kafka.max.historical.days=3

我无法清楚地弄清楚这些配置。我应该将天数设为 1 并将小时数属性设为 2 吗?camus 是如何提取数据的?我经常看到以下错误:

ERROR kafka.CamusJob: Offset range from kafka metadata is outside the previously persisted offset

Please check whether kafka cluster configuration is correct. You can also specify config parameter: kafka.move.to.earliest.offset to start processing from earliest kafka metadata offset.

如何正确设置配置以每小时运行一次并避免该错误?

4

1 回答 1

1

“来自 kafka 元数据的偏移范围超出了先前保留的偏移量。”

表示你的抓取速度不如 kafka 的剪枝快。

kafka 的剪枝由 log.retention.hours 定义。

第一个选项:通过更改“ log.retention.hours ”来增加保留时间

第二个选项:以更高的频率运行它。

第三个选项:在您的 camus 工作中设置kafka.move.to.earliest.offset=true。此属性将强制 camus 从当前存在于 kafka 中的最早偏移量开始消费。但这可能会导致数据丢失,因为我们没有考虑到我们无法获取的修剪数据。

于 2016-05-10T12:28:21.070 回答