storm

How to set a rest api endpoint as Storm spout?

匿名 (未验证) 提交于 2019-12-03 01:21:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I would like to setup a rest api endpoint as a storm spout i.e. whenever a request is made to the endpoint url (for ex. http://example.com/search?q=test ) then I would like to execute a storm topology with certain bolts. The problem is that not all the time requests are made also, the spout's nextTuple() method should be called at a certain interval of time and there is no idea whatsoever about this interval. And how could I also listen to a http url for request and execute the topology whenever a request is made? How to control concurrent

What is the “task” in Storm parallelism

匿名 (未验证) 提交于 2019-12-03 01:09:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I'm trying to learn twitter storm by following the great article " Understanding the parallelism of a Storm topology " However I'm a bit confused by the concept of "task". Is a task an running instance of the component(spout or bolt) ? A executor having multiple tasks actually is saying the same component is executed for multiple times by the executor, am I correct ? Moreover in a general parallelism sense, Storm will spawn a dedicated thread(executor) for a spout or bolt, but what is contributed to the parallelism by an executor(thread)

stormconf.ser doesn't exist error on worker

匿名 (未验证) 提交于 2019-12-03 01:06:02
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: i have a 2 node storm cluster and 1 zk , One of the worker dies because of the following error. Does any one have idea on why stormconf.ser file getting deleted. i'm using 0.9.2 storm and 3.4.6 zk version o.a.c.f.s.ConnectionStateManager [INFO] State change: CONNECTED 2015-01-31 01:23:06 o.a.c.f.s.ConnectionStateManager [WARN] There are no ConnectionStateListeners registered. 2015-01-31 01:23:07 b.s.d.worker [ERROR] Error on initialization of server mk-worker java.io.FileNotFoundException: File '/home/Programs/apache-storm-0.9.2-incubating

storm (一)

匿名 (未验证) 提交于 2019-12-03 00:22:01
storm是流式处理框架 Storm有如下特点: 编程简单:开发人员只需要关注应用逻辑,而且跟Hadoop类似,Storm提供的编程原语也很简单 高性能,低延迟:可以应用于广告搜索引擎这种要求对广告主的操作进行实时响应的场景。 分布式:可以轻松应对数据量大,单机搞不定的场景 可扩展: 随着业务发展,数据量和计算量越来越大,系统可水平扩展 容错:单个节点挂了不影响应用 消息不丢失:保证消息处理 不过Storm不是一个完整的解决方案。使用Storm时你需要关注以下几点: 如果使用的是自己的消息队列,需要加入消息队列做数据的来源和产出的代码 需要考虑如何做故障处理:如何记录消息队列处理的进度,应对Storm重启,挂掉的场景 需要考虑如何做消息的回退:如果某些消息处理一直失败怎么办? Storm的应用 跟Hadoop不一样,Storm是没有包括任何存储概念的计算系统。这就让Storm可以用在多种不同的场景下:非传统场景下数据动态到达或者数据存储在数据库这样的存储系统里(或数据是被实时操控其他设备的控制器(如交易系统)所消费) Storm有很多应用:实时分析,在线机器学习(online machine learning),连续计算(continuous computation),分布式远程过程调用(RPC)、ETL等。Storm处理速度很快:每个节点每秒钟可以处理超过百万的数据组。它是可扩展

Storm入门--Storm编程

匿名 (未验证) 提交于 2019-12-02 23:43:01
以电信通话记录为例 移动呼叫及其持续时间将作为对Apache Storm的输入,Storm将处理和分组在相同呼叫者和接收者之间的呼叫及其呼叫总数。 在storm中,把对数据的处理过程抽象成一个topology,这个topology包含的组件主要是spout、bolt,以及以tuple形式在组件之间传输的数据流。这个数据流在topology流一遍,就是对数据的一次处理。 1、创建Spout类 这一部分,是创建数据流的源头。 创建一个类,实现IRichSpout接口,实现相应方法。其中几个方法的含义: open -为Spout提供执行环境。执行器将运行此方法来初始化喷头。一般写一些第一次运行时要处理的逻辑 nextTuple -通过收集器发出生成的数据。核心,用于生成数据流 close -当spout将要关闭时调用此方法。 declareOutputFields -声明元组的输出模式。即,声明了从此spout出去的流都的数据格式 ack -确认处理了特定元组。 fail -指定不处理和不重新处理特定元组。 open(Map conf, TopologyContext context, SpoutOutputCollector collector) nextTuple() nextTuple()从与ack()和fail()方法相同的循环中定期调用。它必须释放线程的控制,当没有工作要做

Spark 学习 (十一) Spark Streaming详解

匿名 (未验证) 提交于 2019-12-02 23:41:02
一,简介   1.3 Storm和Spark Streaming比较 二,运行原理   2.1 Streaming架构   2.2 容错,持久化和性能调优 三,编程模型   3.2 DStream的输入源   3.3 DStream的操作    正文 一,简介    是一个基于Spark Core之上的实时计算框架,可以从很多数据源消费数据并对数据进行处理 Spark核心 API的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理。支持从多种数据源获取数据,包括 Kafk、 Flume、 Twitter、 ZeroMQ、 TCP sockets,从数据源获取数据之后,可以使用诸如 map、 reduce、 join和 window等高级函数进行复杂算法的处理。最后还可以将处理结果存储到文件系统,数据库和现场仪表盘。在“ One Stack rule them all”的基础上,还可以使用 Spark的其他子框架,如集群学习、图计算等,对流数据进行处理。    Spark Streaming处理的数据流图:       Spark的各个子框架,都是基于核心 Spark的, Spark Streaming在内部的处理机制是,接收实时流的数据,并根据一定的时间间隔拆分成一批批的数据,然后通过 Spark Engine处理这些批数据,最终得到处理后的一批批结果数据。  

Storm ―― 单机环境搭建

匿名 (未验证) 提交于 2019-12-02 23:38:02
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37809146/article/details/91365116 1. 安装环境要求 you need to install Storm’s dependencies on Nimbus and the worker machines. These are: Java 7+ (Apache Storm 1.x is tested through travis ci against both java 7 and java 8 JDKs) Python 2.6.6 (Python 3.x should work too, but is not tested as part of our CI enviornment) 按照 官方文档 的说明:storm 运行依赖于Java 7+ 和 Python 2.6.6 +,所以需要预先安装这两个软件。由于这两个软件在多个框架中都有依赖,其安装步骤单独整理至 : Linux环境下JDK安装 Linux环境下Python安装 2. 下载并解压 下载并解压,官方下载地址: http://storm.apache.org/downloads.html # tar -zxvf apache-storm-1.2.2.tar.gz 3. 配置环境变量 #

storm、flink和spark的区别

匿名 (未验证) 提交于 2019-12-02 23:37:01
storm、spark streaming、flink都是开源的分布式系统,具有低延迟、可扩展和容错性诸多优点,允许你在运行数据流代码时,将任务分配到一系列具有容错能力的计算机上并行运行,都提供了简单的API来简化底层实现的复杂程度。 Apache Storm 在Storm中,先要设计一个用于实时计算的图状结构,我们称之为拓扑(topology)。这个拓扑将会被提交给集群,由集群中的主控节点(master node)分发代码,将任务分配给工作节点(worker node)执行。一个拓扑中包括spout和bolt两种角色,其中spout发送消息,负责将数据流以tuple元组的形式发送出去;而bolt则负责转换这些数据流,在bolt中可以完成计算、过滤等操作,bolt自身也可以随机将数据发送给其他bolt。由spout发射出的tuple是不可变数组,对应着固定的键值对。 Apache Spark Spark Streaming是核心Spark API的一个扩展,它并不会像Storm那样一次一个地处理数据流,而是在处理前按时间间隔预先将其切分为一段一段的批处理作业。Spark针对持续性数据流的抽象称为DStream(DiscretizedStream),一个DStream是一个微批处理(micro-batching)的RDD(弹性分布式数据集);而RDD则是一种分布式数据集

【Storm】Storm配置文件详解

匿名 (未验证) 提交于 2019-12-02 23:36:01
版权声明:藏经阁 | 玄苦 | 陈国林 https://blog.csdn.net/cgl1079743846/article/details/90636631 Storm的配置文件一般存放在$STORM_HOME/conf下,通常名为storm.yaml,它符合yaml格式要求。Storm的配置参数对任务的稳定运行以及吞吐率至关重要,这里介绍一下storm常见的配置项参数。 一. storm基本配置 storm.local.dir: nimbus 和supervisor进程存储一些状态信息(conf或者jars)的本地路径,需要每台storm node单独创建该目录并保证该目录有正确的读写权限; storm.log4j2.conf.dir: log4j的配置目录; storm.zookeeper.servers: storm严重依赖zookeeper存储状态信息,要保证zookeeper的高可用,最好设置多个zk地址; storm.zookeeper.port: 默认2181; storm.zookeeper.root: 在zookeeper中存储的根目录,如果多个storm集群公用一个zk集群,需要修改其根目录名称即可; storm.session.timeout: 默认20s,nimbus和supervisor和zk的session超时时间

【Storm】UI介绍

匿名 (未验证) 提交于 2019-12-02 23:36:01
版权声明:藏经阁 | 玄苦 | 陈国林 https://blog.csdn.net/cgl1079743846/article/details/90636654 众所周知,storm 已经是业界主流的流时处理框架,Storm 被广泛应用于实时分析,在线机器学习,持续计算、分布式远程调用等领域。当前无论是内部还是外部论坛介绍原理的文档都比较多,但主要都是从运行机制和原理方面的介绍,在 UI 方面的介绍甚少,今天我试着向大家介绍一下 storm ui,一方面可以让大家了解一下 storm 的机制,另外也可以让大家更好的使用好 storm ui 协助大家自助解决使用过程中的问题。 一. 数据上报及展示流程 数据上报流程:worker/supervisor/nimbus 会定时上报统计信息到 zk 数据展现流程:ui 调用 nimbus 的服务从 zk 中取出数据进行分类聚合汇总,然后展示到前端 二. 数据类型 通常我们要真正理解一个事物,通常都会从来龙去脉进行解剖;理解 storm ui 也是,想理解 storm 有什么数据,那么先去理解 storm 有哪些动作就事半功倍了,以下是 storm 中 worker/supervisor/nimbus 的基本操作及对应的数据类型,左边为操作,右边为数据。 spout: emit:向下游提交 tuple,对应的统计数据为 emit