开发者社区> 问答> 正文

Spark Streaming 和kafka整合后读取消息报错

Spark Streaming 和kafka整合后读取消息报错: OffsetOutOfRangeException

展开
收起
茶什i 2019-10-29 15:00:48 2331 0
2 条回答
写回答
取消 提交回答
  • 从字面意思上,说是kafka topic的offset越界异常;在job中使用的是Kafka DirectStream,每成功处理一批数据,就把对应的offset更新到zookeeper中;和数组越界异常一样,offset越界应该分为头越界和尾越界,如下图所示。

    头部越界: zookeeper中保存的offset在topic中仍然存在的最老message的offset之前时(zk_offset < earliest_offset); 尾部越界: zookeeper中保存的offset在topic中最新message的offset之后时(zk_offset > last_offset)

    2020-03-19 19:38:38
    赞同 展开评论 打赏
  • 如果和kafka消息中间件结合使用,请检查消息体是否大于默认设置1m,如果大于,则需要设置fetch.message.max.bytes=1m,这里需要把值设置大些

    2019-10-30 16:07:31
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Java Spring Boot开发实战系列课程【第16讲】:Spring Boot 2.0 实战Apache Kafka百万级高并发消息中间件与原理解析 立即下载
MaxCompute技术公开课第四季 之 如何将Kafka数据同步至MaxCompute 立即下载
消息队列kafka介绍 立即下载