最近写的 binlog2kafka storm job 上线在一个新的集群环境中(storm 0.9.0.1, kafka 0.8), storm job 运行时报出如下异常:

java.lang.RuntimeException: java.nio.channels.UnresolvedAddressException
at storm.kafka.ZkCoordinator.refresh(ZkCoordinator.java:83)
at storm.kafka.ZkCoordinator.getMyManagedPartitions(ZkCoordinator.java:45)
at storm.kafka.KafkaSpout.nextTuple(KafkaSpout.java:118)
at backtype.storm.daemon.executor$eval3848$fn__3849$fn__3864$fn__3893.invoke(executor.clj:562)
at backtype.storm.util$async_loop$fn__384.invoke(util.clj:433)
at clojure.lang.AFn.run(AFn.java:24)
at java.lang.Thread.run(Thread.java:701)
Caused by: java.nio.channels.UnresolvedAddressException
at sun.nio.ch.Net.checkAddress(Net.java:89)
at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:514)
at kafka.network.BlockingChannel.connect(BlockingChannel.scala:57)
at kafka.consumer.SimpleConsumer.connect(SimpleConsumer.scala:44)
at kafka.consumer.SimpleConsumer.getOrMakeConnection(SimpleConsumer.scala:129)
at kafka.consumer.SimpleConsumer.kafka$consumer$SimpleConsumer$$sendRequest(SimpleConsumer.scala:69)
at kafka.consumer.SimpleConsumer.getOffsetsBefore(SimpleConsumer.scala:125)
at kafka.javaapi.consumer.SimpleConsumer.getOffsetsBefore(SimpleConsumer.scala:80)
at storm.kafka.KafkaUtils.getOffset(KafkaUtils.java:55)
at storm.kafka.KafkaUtils.getOffset(KafkaUtils.java:45)
at storm.kafka.PartitionManager.(PartitionManager.java:77)
at storm.kafka.ZkCoordinator.refresh(ZkCoordinator.java:78)
... 6 more

网上查了一下, 很多答案答非所问, 最后在github的kafkaSpout的作者的Issue List中找到了答案, 顺利解决 https://github.com/wurstmeister/storm-kafka-0.8-plus/issues/36

问题在于: storm kafkaSpout 通过ZK去获取kafka的地址, 但是zk中保存的kafka是以域名的方式保存的, 而新集群上没有配置相关的hosts, 所以只需要在新集群的supervior机器上的/etc/hosts加上对应的kafka hosts即可

最新文章

  1. IntelliJ添加Emacs编辑器
  2. [Mongodb] Relica Set复制集集群简单搭建--持续更新
  3. phpspidercookie
  4. Android自动化学习笔记之MonkeyRunner:MonkeyRunner环境搭建
  5. Linux上安装Mysql后除了本机其他机器不能访问的问题(zhuan)
  6. C#中修改Dll文件 (反编译后重新编译)
  7. 保护模式下GDTR,LDTR,全局描述符表,局部描述符表和选择器的关系
  8. SQL 中case when then else 用法
  9. Ubuntu常用软件安装(附带地址和卸载自带软件)
  10. 如何用Python爬虫实现百度图片自动下载?
  11. 【51NOD1965】奇怪的式子 min_25筛
  12. python爬虫中scrapy框架是否安装成功及简单创建
  13. vue中的一些知识点--多看文档
  14. How std::cout works [duplicate]
  15. TensorFlow 安装报错的解决办法(安装1.5版本)
  16. php yii2 使用命令行模式开启脚本 报错 :Error while sending QUERY packet. PID=xxx
  17. css文件放在根目录之后不起作用原因
  18. VLC媒体视频播放器 v3.0.2官方版
  19. 总结一下最近用到的技术(2)--JsonSchema和JsonSchemaValidator
  20. ServiceStack DotNet Core前期准备

热门文章

  1. SendMessage用法
  2. Visual Assist X安装路径
  3. git入门三(远程、标签)
  4. Unity导出AssetBundle到指定路径
  5. 仿百度壁纸client(五)——实现搜索动画GestureDetector手势识别,动态更新搜索keyword
  6. Unity3d 快捷键
  7. 2218 补丁vs错误
  8. 【BZOJ4154】[Ipsc2015]Generating Synergy KDtree
  9. c# 怎么更改DataTable 中某列的值?
  10. 数据处理 数据入数据库 与 Excel