Storm的滑动窗口TickTuple通常用来控制bolt定制执行入库操作,使用过程中遇到了TickTuple“意外停止”的情况。
场景描述
Jiaodian任务共计使用12个worker,tick tuple间隔为5分钟。
WebPvLogSpout & WebPvLogBolt的executor数量为12.
WebPvLogSpout消费kafka topic,log_product_ypvlog共计10个partition
6月14号下午启动,次日凌晨1点35分之后,有2个bolt就收不到tick tuple。
生产tickTuple消息的线程【user-timer】由于disruptor的原因,一直处于挂起状态。
"user-timer" daemon prio=10 tid=0x00007f8ea8ac7000 nid=0x353c runnable [0x00007f8e29662000] java.lang.Thread.State: TIMED_WAITING (parking)【处于挂起状态,一致等待信号激活自己,正常情况应该处于sleeping状态】 at sun.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:349) at com.lmax.disruptor.AbstractMultithreadedClaimStrategy.waitForFreeSlotAt(AbstractMultithreadedClaimStrategy.java:99) at com.lmax.disruptor.AbstractMultithreadedClaimStrategy.incrementAndGet(AbstractMultithreadedClaimStrategy.java:49) at com.lmax.disruptor.Sequencer.next(Sequencer.java:127) at backtype.storm.utils.DisruptorQueue.publishDirect(DisruptorQueue.java:174) at backtype.storm.utils.DisruptorQueue.publish(DisruptorQueue.java:167) at backtype.storm.disruptor$publish.invoke(disruptor.clj:66) at backtype.storm.disruptor$publish.invoke(disruptor.clj:68) at backtype.storm.daemon.executor$setup_ticks_BANG_$fn__6510.invoke(executor.clj:315) at backtype.storm.timer$schedule_recurring$this__1807.invoke(timer.clj:99) at backtype.storm.timer$mk_timer$fn__1790$fn__1791.invoke(timer.clj:50) at backtype.storm.timer$mk_timer$fn__1790.invoke(timer.clj:42) at clojure.lang.AFn.run(AFn.java:24) at java.lang.Thread.run(Thread.java:745)
相关推荐
【标题】"storm集群启动与停止脚本共2页.pdf.zip" 提供的是一份关于storm集群管理的文档,主要涵盖了如何启动和停止storm集群的关键步骤。Storm是Apache开源的一个分布式实时计算系统,它能够处理大规模的数据流并...
主分支: ##包裹包战 mvn clean package -DskipTests=true -Dwarcp ./target/storm-ui.war $TOMCAT_HOME/webapps/包装罐 mvn clean package -DskipTests=truecp ./target/storm-ui-*.jar $STORM_HOME/external/...
Storm是一个分布式实时计算系统,能够有效地处理大量数据流。它由Twitter公司开发,最初的目的是为了处理大规模的数据,如社交网络上的实时信息更新。Storm的基本单位是“topology”(拓扑结构),它可以理解为一个...
Storm入门到精通 Storm 是一个分布式实时计算系统,主要用于处理大规模数据流。它的核心组件包括Spout和Bolt,分别负责数据的输入和处理。下面是对 Storm 的一个概述,从基础知识到实践应用。 Storm 组件 Storm ...
1. 添加依赖:在项目中引入Storm和Kafka相关的库,如storm-kafka或storm-kafka-client。 2. 配置KafkaSpout:设置KafkaSpout的配置,包括Zookeeper地址、Kafka的Group ID、要消费的主题等。 3. 创建Spout实例:基于...
1. `bin` 目录:包含了启动、停止 Storm 服务的脚本,如 `storm.sh` 和其他管理工具。 2. `conf` 目录:存放配置文件,例如 `storm.yaml`,用户可以根据自己的需求进行修改。 3. `lib` 目录:包含 Storm 及其依赖的...
Storm入门教程 之Storm原理和概念详解,出自Storm流计算从入门到精通之技术篇,Storm入门视频教程用到技术:Storm集群、Zookeeper集群等,涉及项目:网站PV、UV案例实战、其他案例; Storm视频教程亮点: 1、Storm...
10. **Topologies的生命周期**:创建、提交、激活、停止和重新平衡,这些都是控制Storm拓扑运行状态的重要操作。 在压缩包中的"strom开发"文件可能包含了上述过程的详细步骤,源码示例,以及可能的配置文件和文档。...
### Storm简介及安装知识点梳理 #### 一、Storm简介 **Storm** 是一款由BackType公司开发的分布式实时计算系统,后被Twitter收购并开源。它主要用于处理大规模的数据流,能够简单、高效、可靠地处理实时数据。...
Apache Storm(apache-storm-2.3.0.tar.gz) 是一个免费的开源分布式实时计算系统。Apache Storm 可以轻松可靠地处理无限制的数据流,实时处理就像 Hadoop 进行批处理一样。Apache Storm 很简单,可以与任何编程语言...
"Storm"是一款专门用于测试Web服务的工具,下面我们将深入探讨其相关知识点。 1. WebService概念: WebService是通过XML(可扩展标记语言)、WSDL(Web服务描述语言)和SOAP(简单对象访问协议)等标准来构建的,...
**Storm API实现词频统计详解** 在大数据处理领域,Apache Storm是一个实时计算系统,它能够持续处理数据流,实现低延迟、高吞吐量的数据分析。在这个“Storm API实现词频统计”的案例中,我们将深入探讨如何利用...
Storm是一个开源的分布式实时计算系统,由Twitter开发并开源,旨在实现高可靠性、可伸缩性、快速处理无界数据流。Storm可以与Hadoop进行类比,但相较于Hadoop处理批量数据的批处理方式,Storm更专注于处理实时数据流...
Storm Applied is a practical guide to using Apache Storm for the real-world tasks associated with processing and analyzing real-time data streams. This immediately useful book starts by building a ...
2. **Supervisor**:在工作节点上运行,管理worker进程,接收Nimbus的指令启动或停止任务。 3. **Worker**:实际执行计算任务的进程,每个worker包含多个task。 4. **Spout**:数据源,负责从外部数据源拉取数据并...
9. **监控和管理**:通过Storm UI监控拓扑运行情况,如有异常,可使用`storm kill`命令停止拓扑,或`storm list`查看当前运行的拓扑。 集群搭建完成后,需要注意监控集群的健康状况,包括资源利用率、网络延迟、...
Storm是一个开源的分布式实时计算系统,由Twitter开发并开源,其设计目标是让实时处理变得简单、强大且可靠。在Storm中,数据流被抽象为持续不断的Tuple(元组)序列,这些Tuple在网络中的worker节点间进行分布式...
### Storm源码分析 #### 一、Storm简介与应用场景 Apache Storm是一款开源的分布式实时计算系统,它提供了简单而强大的API来定义数据流处理逻辑,同时保证了消息处理的容错性和高性能。Storm的设计目标是成为实时...