kafka.common.OffsetOutOfRangeException 问题处理
2013-05-13 11:15
549 查看
昨天夜里,storm的一个程序出问题了,诚惶诚恐啊。报kafka.common.OffsetOutOfRangeException 异常:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202007/07/fb9647dcb7c4f60d1feac4ac7c8e9d60)
分析一下原因:
是由于 kafka-spout 获取kafka的数据的时候获取不到,kafka 的 offset 超出现存的范围。
深入分析:
由于storm程序启动的时候,读取kafka数据的方式是从头读取(-2),当kafkaspout 的task 发生异常,storm会重新调度,重新起一个kafspout任务运行。新的kafkaspout会从zookeeper中获取最早的offset,而我们的kafka保存数据的时间为一天。这个时候kafkaspout获取的offset仍然是zookeeper中保存的以前初始的offset,这个offset的数据已经不存在了。
后续处理:
首先,将任务重跑,使用的读取模式仍然是从头读取,将任务统计的数据先补上。等到零点,重新运行程序,需要在任务启动的时候使用当前的offset模式(-1)。
分析一下原因:
是由于 kafka-spout 获取kafka的数据的时候获取不到,kafka 的 offset 超出现存的范围。
深入分析:
由于storm程序启动的时候,读取kafka数据的方式是从头读取(-2),当kafkaspout 的task 发生异常,storm会重新调度,重新起一个kafspout任务运行。新的kafkaspout会从zookeeper中获取最早的offset,而我们的kafka保存数据的时间为一天。这个时候kafkaspout获取的offset仍然是zookeeper中保存的以前初始的offset,这个offset的数据已经不存在了。
后续处理:
首先,将任务重跑,使用的读取模式仍然是从头读取,将任务统计的数据先补上。等到零点,重新运行程序,需要在任务启动的时候使用当前的offset模式(-1)。
相关文章推荐
- Kafka kafka.common.OffsetOutOfRangeException 问题处理
- Caused by: kafka.common.OffsetOutOfRangeException
- java.lang.NoSuchMethodError和kafka.common.OffsetOutOfRangeException(Spark)
- Kafka 副本OffsetOutOfRangeException
- Spark streaming kafka OffsetOutOfRangeException 异常分析与解决
- kafka-storm spout拉取数据问题offset out of range(todo)
- kafka-storm spout拉取数据问题offset out of range
- spark streaming kafka OffsetOutOfRangeException 异常分析与解决
- kafka的OffsetOutOfRangeException
- “System.IndexOutOfRangeException”类型的异常在 Stores.dll 中发生,但未在用户代码中进行处理
- java.lang.IllegalArgumentException: pointerIndex out of range 问题的两种解决办法
- 【解决问题.思路篇】StringIndexOutOfBoundsException:String index out of range: -1
- java.lang.IllegalArgumentException:pointerIndex out of range问题的两种解决办法
- 将int字段改为decimal类型后出现1264 Out of range value的问题分析和处理之二
- OutOfMemoryException问题的处理方式搜集
- Android 中 java.lang.IllegalArgumentException: pointerIndex out of range 异常的处理方法
- kafka 运行问题:kafka.common.KafkaException: Failed to acquire lock on file .lock 的处理
- mvn install:java.lang.StringIndexOutOfBoundsException: String index out of range: -1问题的解决
- 解决ava.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0)类似问题
- C++ 中的vector iterator offset out of range问题