Unable to get offset lags for kafka. Reason: java.lang.NullPointerException at org.apache.storm.kafk
问题信息
Unable to get offset lags for kafka. Reason: java.lang.NullPointerException at org.apache.storm.kafka.monitor.KafkaOffsetLagUtil.getOffsetLags (KafkaOffsetLagUtil.java:272) at org.apache.storm.kafka.monitor.KafkaOffsetLagUtil.main (KafkaOffsetLagUtil.java:124)
我的情况
当数据量慢慢上来的时候,这个问题就会自动解决,网上有如下的解决方案,请参考
后知后觉(问题原因)
storm 消费 kafka 队列时,没有读到或者解析到 zk 中存储的 kafka 的偏移量 offset,可能原因:队列刚刚创建,storm 在 zk 中还未存放 offset 信息,手动在 kafka 命令行中生产几条消息(bin/kafka-console-producer.sh),即可帮助 storm 完成在 zk 中存储 offset 信息。
问题描述:
storm 起动 topology 的在 stormui 中可以看到类似错误
storm 的 KafkaSpout 接收 kafka 消息时报错,错误如下
Unable to get offset lags for kafka. Reason: java.lang.IllegalArgumentException: zk-node ‘/kafka_storm/webTraceId’ dose not exists. at org.apache.storm.kafka.monitor.KafkaOffsetLagUtil.getOldConsumerOffsetsFromZk (KafkaOffsetLagUtil.java:387) at org.apache.storm.kafka.monitor.KafkaOffsetLagUtil.getOffsetLags (KafkaOffsetLagUtil.java:268) at org.apache.storm.kafka.monitor.KafkaOffsetLagUtil.main (KafkaOffsetLagUtil.java:124)
或者如下
Unable to get offset lags for kafka. Reason: java.lang.NullPointerException at org.apache.storm.kafka.monitor.KafkaOffsetLagUtil.getOffsetLags (KafkaOffsetLagUtil.java:272) at org.apache.storm.kafka.monitor.KafkaOffsetLagUtil.main (KafkaOffsetLagUtil.java:124)
原因:
storm 读取自身存储的 kafka 信息时,没读到或者解析不正确。这个消息存储在 zookeeper 中。在 org.apache.storm.kafka.SpoutConfig
类中的 public SpoutConfig (BrokerHosts hosts, String topic, String zkRoot, String id)
中的 zkRoot 和 id, storm 会在 zookeepr 的中创建如下目录 /zkRoot/id,在这个目录下面会存放一些 kafka 相关信息。大致如下:
{"topology":{"id":"alarmTopology-11-1528251428","name":"alarmTopology"},"offset":397,"partition":0,"broker":{"host":"172.16.125.134","port":9092},"topic":"alarm-fe"}
zookeeper 路径如下:
[zk: localhost:2181 (CONNECTED) 81] ls /kafka_storm/webTraceId
[partition_0, partition_1, partition_2]
解决办法:
分 2 步:
- 要 zookeeper 中删除对应的目录
delete /kafka_storm/webTraceId/partition_0
delete /kafka_storm/webTraceId/partition_1
delete /kafka_storm/webTraceId/partition_2
delete /kafka_storm/webTraceId
- 往 kafka 中生产数据
等数据被 storm 的 kafkaSpout 消费之后,/kafka_storm/webTraceId/partition_0 这些目录会被重新建立
问题解决
Unable to get offset lags for kafka. Reason: java.lang.NullPointerException at org.apache.storm.kafk相关推荐
- Storm-Kafka: Offset lags for kafka not supported for older versions
最近又要迁移HADOOP,迁移过程不做表述,因为我使用了Storm实时流组件,之前版本是1.0.2,目前最新版1.2.2. 老版本storm和kafka结合的包是storm-kafka, 新版本的包为 ...
- Swagger报错,Unable to scan document context default java.lang.NullPointerException: null
最近改完代码之后,启动项目,发现有以下error报错: Unable to scan document context default java.lang.NullPointerException: ...
- Android开发中java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx}: java.lang.NullPoi
Android开发中java.lang.RuntimeException: Unable to start activity ComponentInfo{xxx}: java.lang.NullPoi ...
- 安卓- apk安装出现闪退java.lang.RuntimeException: Unable to instantiate application
Android Apk安装出现java.lang.RuntimeException: Unable to instantiate application## 08-08 14:50:12.445 29 ...
- 记录错误:java.lang.RuntimeException: Unable to start activity ComponentInfo
android activity打不开,具体错误如下: 01-02 00:02:25.495 E/AndroidRuntime( 984): FATAL EXCEPTION: main 01-02 ...
- DataPipeline |《Apache Kafka实战》作者胡夕:Apache Kafka监控与调优
胡夕,<Apache Kafka实战>作者,北航计算机硕士毕业,现任某互金公司计算平台总监,曾就职于IBM.搜狗.微博等公司.国内活跃的Kafka代码贡献者. 前言 虽然目前Apache ...
- kafka 出现Java heap space的解决方法
问题: 测试环境异常,经过查看server.log日志,发现:java.lang.OutOfMemoryError: Java heap space,具体如下: server.log: [2021-0 ...
- java kafka client_Kafka Java Client基本使用及整合SpringBoot
kafka-clients 添加依赖 org.apache.kafka kafka-clients 2.5.0 消费者 Consumer 代码上总体可以分为三部分:消费者的配置消费者的配置在 org. ...
- (转)Kafka 消费者 Java 实现
转自: Kafka 消费者 Java 实现 - 简书应用程序使用 KafkaConsumer向 Kafka 订阅 Topic 接收消息,首先理解 Kafka 中消费者(consumer)和消费者组(c ...
最新文章
- Git 高级用法,喜欢就拿去用!
- [java]窗口的创建
- 兼容微信小程序的流式网络请求库
- Linux学习路线指南
- 【机器视觉】 exit算子
- 【C++】 C++标准模板库(一) Vector
- MS17-010漏洞复现
- Mybatis源码学习笔记
- Java 获取项目文件路径
- 表单标签(HTML)
- Html5 h5页面输入框失去焦点页面底部白板问题
- 1712新生素拓活动总结
- 龚胤全云栖大会_2017云栖大会北京峰会
- 前端避免XSS(跨站脚本攻击)
- 每日一技|巧用 Telnet 调试 Dubbo 服务
- plsql 排序_在PLSQL中怎么能取到表中按ID降序排列的前十条记录???
- 简简单单利用字典破解zip文件口令
- Mac安装Consolas字体最简单的方法
- Excel批量插入图片小技巧
- Day01-python编程基础
热门文章
- Postman 都有女朋友了,我特么竟然还单身
- 远程办公何时了,网络打洞帮你搞
- vue 项目中 npm run dev 运行98% after emitting CopyPlugin 卡死
- Power BI_柱状图中间空一列_横坐标显示
- JAVA:实现 gnome sort侏儒排序算法(附完整源码)
- N-Tiers设计系列(二):三层式应用系统架构
- vue中的this.$router.replace()和.push()和.go()的区别解析
- 萤光云香港三区服务器测评
- oracle form on query,OracleForm实战总结.doc
- Excel中批量生成标签,批量打印标签。按指定模板批量打印标签