问题信息

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 步:

  1. 要 zookeeper 中删除对应的目录
delete /kafka_storm/webTraceId/partition_0
delete /kafka_storm/webTraceId/partition_1
delete /kafka_storm/webTraceId/partition_2
delete /kafka_storm/webTraceId
  1. 往 kafka 中生产数据

等数据被 storm 的 kafkaSpout 消费之后,/kafka_storm/webTraceId/partition_0 这些目录会被重新建立

问题解决

Unable to get offset lags for kafka. Reason: java.lang.NullPointerException at org.apache.storm.kafk相关推荐

  1. Storm-Kafka: Offset lags for kafka not supported for older versions

    最近又要迁移HADOOP,迁移过程不做表述,因为我使用了Storm实时流组件,之前版本是1.0.2,目前最新版1.2.2. 老版本storm和kafka结合的包是storm-kafka, 新版本的包为 ...

  2. Swagger报错,Unable to scan document context default java.lang.NullPointerException: null

    最近改完代码之后,启动项目,发现有以下error报错: Unable to scan document context default java.lang.NullPointerException: ...

  3. 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 ...

  4. 安卓- apk安装出现闪退java.lang.RuntimeException: Unable to instantiate application

    Android Apk安装出现java.lang.RuntimeException: Unable to instantiate application## 08-08 14:50:12.445 29 ...

  5. 记录错误:java.lang.RuntimeException: Unable to start activity ComponentInfo

    android  activity打不开,具体错误如下: 01-02 00:02:25.495 E/AndroidRuntime(  984): FATAL EXCEPTION: main 01-02 ...

  6. DataPipeline |《Apache Kafka实战》作者胡夕:Apache Kafka监控与调优

    胡夕,<Apache Kafka实战>作者,北航计算机硕士毕业,现任某互金公司计算平台总监,曾就职于IBM.搜狗.微博等公司.国内活跃的Kafka代码贡献者. 前言 虽然目前Apache ...

  7. kafka 出现Java heap space的解决方法

    问题: 测试环境异常,经过查看server.log日志,发现:java.lang.OutOfMemoryError: Java heap space,具体如下: server.log: [2021-0 ...

  8. java kafka client_Kafka Java Client基本使用及整合SpringBoot

    kafka-clients 添加依赖 org.apache.kafka kafka-clients 2.5.0 消费者 Consumer 代码上总体可以分为三部分:消费者的配置消费者的配置在 org. ...

  9. (转)Kafka 消费者 Java 实现

    转自: Kafka 消费者 Java 实现 - 简书应用程序使用 KafkaConsumer向 Kafka 订阅 Topic 接收消息,首先理解 Kafka 中消费者(consumer)和消费者组(c ...

最新文章

  1. Git 高级用法,喜欢就拿去用!
  2. [java]窗口的创建
  3. 兼容微信小程序的流式网络请求库
  4. Linux学习路线指南
  5. 【机器视觉】 exit算子
  6. 【C++】 C++标准模板库(一) Vector
  7. MS17-010漏洞复现
  8. Mybatis源码学习笔记
  9. Java 获取项目文件路径
  10. 表单标签(HTML)
  11. Html5 h5页面输入框失去焦点页面底部白板问题
  12. 1712新生素拓活动总结
  13. 龚胤全云栖大会_2017云栖大会北京峰会
  14. 前端避免XSS(跨站脚本攻击)
  15. 每日一技|巧用 Telnet 调试 Dubbo 服务
  16. plsql 排序_在PLSQL中怎么能取到表中按ID降序排列的前十条记录???
  17. 简简单单利用字典破解zip文件口令
  18. Mac安装Consolas字体最简单的方法
  19. Excel批量插入图片小技巧
  20. Day01-python编程基础

热门文章

  1. Postman 都有女朋友了,我特么竟然还单身
  2. 远程办公何时了,网络打洞帮你搞
  3. vue 项目中 npm run dev 运行98% after emitting CopyPlugin 卡死
  4. Power BI_柱状图中间空一列_横坐标显示
  5. JAVA:实现 gnome sort侏儒排序算法(附完整源码)
  6. N-Tiers设计系列(二):三层式应用系统架构
  7. vue中的this.$router.replace()和.push()和.go()的区别解析
  8. 萤光云香港三区服务器测评
  9. oracle form on query,OracleForm实战总结.doc
  10. Excel中批量生成标签,批量打印标签。按指定模板批量打印标签