前言: 学了几天storm的基础,发现如果有hadoop基础,再理解起概念来,容易的多.不过,涉及到一些独有的东西,如调度,如并发度,还是很麻烦.那么,从这一篇开始,力争清晰的梳理这些知识. 在正式学习并发之前,有必要先明确几个基本概念的定义,以及具体作用. 一.基础概念 1.1 Topology 原意拓扑.可以把他理解为是hadoop中的job,他是把一系列的任务项组装后的一个结果. 1.2 Spout 是任务的一种,作用是读取数据,然后组装成一定的格式,发射出去. 1.3 Bolt 是另一种…
这个概念,对于理解storm很有必要. 1.worker进程死掉 worker是真实存在的.可以jps查看. 正是因为有了storm的可靠性,所以storm会重新启动一个新的worker进程. 2.supervisor进程死掉 不会影响之前已经提交的topology的执行,只是后期不能再想这个节点分配任务罢了. 3.nimbus进程死掉 不会影响之前已经提交的topology的执行,只是后期不能再想这个节点分配任务罢了. 4.节点宕机 5.ack/fail消息确认机制 见博客 Storm编程入门…
不多说,直接上干货! storm的设计思想 在 Storm 中也有对流(Stream)的抽象,流是一个不间断的.无界的连续 Tuple(Storm在建模事件流时,把流中的事件抽象为 Tuple 即元组).Storm 认为每个流都有一个 Stream 源,也就是原始元组的源头,所以它将这个源头抽象为 Spout, Spout 可能连接 Twitter API 并不断发出推文( Tweet),也可能从某个队列中不断读取队列元素并装配为 Tuple 发射. 有了源头即 Spout 也就是有了流,同样的…
不多说,直接上干货! Storm的雪崩问题的解决办法1: Storm概念学习系列之并行度与如何提高storm的并行度 Storm的雪崩问题的解决办法2:…
不多说,直接上干货! 至于为什么,有storm的定时任务.这个很简单.但是,这个在工作中非常重要! 假设有如下的业务场景 这个spoult源源不断地发送数据,boilt呢会进行处理.然后呢,处理后的结果,假设要写到mysql里面. 假设,spout有几十万条,这么过来.写入到bolt,意味着,它一秒钟要调用mysql几十万此.即操作频率太快,这样导致会出现问题.   所以,很有必要进行storm的定时任务!!! storm的定时任务,它可以每隔指定的时间将数据整合一次存入数据库. 见博客 Sto…
把stream当做一列火车, tuple当做车厢,spout当做始发站,bolt当做是中间站点!!! 见 Storm概念学习系列之Spout数据源 Storm概念学习系列之Topology拓扑 Storm概念学习系列之Blot消息处理者 Storm概念学习系列之Tuple元组…
不多说,直接上干货! Storm核心组件 了解 Storm 的核心组件对于理解 Storm 原理非常重要,下面介绍 Storm 的整体,然后介绍 Storm 的核心. Storm 集群由一个主节点和多个工作节点组成.主节点运行一个名为“Nimbus”的守护进程,工作节点都运行一个名为“Supervisor”的守护进程,两者的协调工作由 ZooKeeper 来完成, ZooKeeper 用于管理集群中的不同组件. 每一个工作节点上运行的 Supervisor 监听分配给它那台机器的工作,根据需要启…
不多说,直接上干货! storm简介 Storm 是 Twitter 开源的.分布式的.容错的实时计算系统,遵循 Eclipse Public License1.0. Storm 通过简单的 API 使开发者可以可靠地处理无界持续的流数据,进行实时计算. Twitter Storm 是使用 Clojure(发音同 closure)语言实现的. Clojure 是 Lisp 语言的一种现代方言.类似于 Lisp, Clojure 支持一种功能性编程风格,但 Clojure 还引入了一些特性来简化多…
在storm集群中,我们常常使用zookeeper作为协调者.那么具体发挥的是什么作用呢? 概括来说,zookeeper是nimbus和supervisor进行交互的中介.具体来说有二: 1.nimbus通过在zookeeper上写状态信息来分配任务.通俗的讲就是写哪些supervisor执行哪些task的对应关系.而supervisor则通过从zookeeper上读取这些状态信息,来领取任务. 2.supervisor.task会发送心跳到zookeeper,使得nimbus可以监控整个集群的…
1.基本结构介绍 flume是三层架构,agent,collector,storage.每一层都可水平扩展. 其中,agent就是数据采集方:collector是数据整合方:storage是各种数据落地方,如hdfs. 前两者都是由source和sink组成,source是数据读取组件,sink是数据分发组件. 前两者作为不同类型node统一归master管理.可在master shell活web中动态配置. 2.自带的source text 文件,按行发送 tail 探测新产生数据,安航发送…