strom部署问题

Posted gavinyang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了strom部署问题相关的知识,希望对你有一定的参考价值。

1.storm 引用的 kafka和线上的kafka版本不一致

2.bolt的prepare初始化elasticsearch连接慢,导致第一次处理数据是总是有问题
storm调用prepare方法是异步调用,不会等待所有的bolt中的prepare都完成。在处理第一条数据时等待一段时间,

3.时间窗口长度设置,默认情况下时间窗口的时间长度不能超过消息超时时间。否则会出现异常:Window duration (length + sliding interval) value 32000 is more than topology.message.timeout.secs value 10000
设置消息超时时间 topology.message.timeout.secs

4.storm消费kafka的偏移量无法保存,提示:Error:KeeperErrorCode = NoNode for /storm_kafka/consumers_sdk_start
需要配置spoutConfig.zkServers 和 spoutConfig.zkPort 指定偏移量存储的zookeeper服务器

5.kafka客户端与kafka版本不一致问题,运行topology是出现:java.nio.BufferUnderflowException

6.ERROR o.a.s.util - Async loop died! java.lang.RuntimeException: java.nio.channels.ClosedChannelException
去某个partitions中取数据的时候,storm不能访问当前partitions的broker。
是telnet端口,或者ping当天borker不通造成。可能是没有开通权限或者没有配置ip和host的映射

打断点调试org.apache.storm.kafka.ZkCoordinator.refresh的方法,发现newpartitions里面有个存储的是hostname:9092

 技术图片

以上是关于strom部署问题的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop学习

大数据-storm理论

Strom流式计算

strom基础

Strom优化指南

基于Kafka+Strom构建流式计算卖家日志系统(有赠书)