【解决方案】routine load 执行一段时间后出现 Broker: Offset out of range

Viewed 141

routine load 执行一段时间后,出现:

ReasonOfStateChanged: ErrorReason{code=errCode = 104, msg='be 10004 abort task with reason: fetch failed due to requested offset not available on the broker: Broker: Offset out of range

1 Answers

排查方式:
查看kafka端对应的topic 目前最小的offset ,对比show routine load 的progress记录的offset 是不是小于kafka topic 的offset,如果小于则就会出现上述问题
解决方法

  1. 可以适当修改kafka的数据保留时间
  2. 使用ALTER ROUTINE LOAD命令修改offset,重新恢复任务即可
    ALTER ROUTINE LOAD FOR db.tb
    FROM kafka
    (
    "kafka_partitions" = "0",
    "kafka_offsets" = "xxx",
    "property.group.id" = "xxx"
    );