16. Storm
玄苦大师233
机会往往是长期准备和酝酿的而不能只靠一时的主动与激情所以认真写好技术博客吧
新博客 =》https://chenguolin.github.io/
展开
-
【Storm】Storm内部原理分析
一. Storm集群架构Storm集群采用主从架构方式,主节点是Nimbus,从节点是Supervisor,有关调度相关的信息存储到ZooKeeper集群中,架构如下图所示NimbusStorm集群的Master节点,负责分发用户代码,指派给具体的Supervisor节点上的Worker节点,去运行Topology对应的组件(Spout/Bolt)的Task。Supervisor...原创 2019-05-28 11:43:48 · 487 阅读 · 0 评论 -
【Storm】流式大数据处理的三种框架Storm、Spark和Samza
许多分布式计算系统都可以实时或接近实时地处理大数据流。本文将对三种Apache框架分别进行简单介绍,然后尝试快速、高度概述其异同。一. Apache Storm在Storm中,先要设计一个用于实时计算的图状结构,我们称之为拓扑(topology)这个拓扑将会被提交给集群,由集群中的主控节点(master node)分发代码,将任务分配给工作节点(worker node)执行。一个拓扑中包括...原创 2019-05-29 09:24:21 · 630 阅读 · 0 评论 -
【Storm】数据流窗口计算
一. 窗口介绍在分布式计算中,基于数据窗口的计算是一个非常常见的应用场景,比如说聚类、模式识别等。storm支持两种方式的窗口:滑动窗口和固定窗口,并且支持从两种维度进行窗口分割:时间或tuple数。比如说用时间分割来实现一个滑动窗口,需要给定两个数值,窗口大小和滑动时间。一个窗口大小为10sec,滑动时间为5sec的窗口示意如下如图中所示,对这个流进行窗口计算的bolt会收到两次exec...原创 2019-05-29 09:23:27 · 765 阅读 · 0 评论 -
【Storm】入门原理介绍
一. Storm简介Storm是一个分布式的、高容错的实时计算系统。Storm对于实时计算的的意义相当于Hadoop对于批处理的意义。Hadoop为我们提供了Map和Reduce原语,使我们对数据进行批处理变的非常的简单和优美。同样,Storm也对数据的实时计算提供了简单Spout和Bolt原语。Storm适用的场景流数据处理:Storm可以用来用来处理源源不断的消息,并将处理之后的结果...原创 2019-05-28 13:48:51 · 262 阅读 · 0 评论 -
【Storm】metric使用
一. 概述storm metric类似于hadoop的counter,用于收集应用程序中的特定指标,输出到外部。在storm中是存储到各个机器logs目录下的metric.log文件中。有时我们想保存一些计算的中间变量,当达到一定状态时,统一在一个位置输出,或者统计整个应用的一些指标,metric是个很好的选择。二. 使用① 在bolt的prepare注册metricmetric都定...原创 2019-05-28 11:59:05 · 586 阅读 · 0 评论 -
【Storm】UI介绍
众所周知,storm 已经是业界主流的流时处理框架,Storm 被广泛应用于实时分析,在线机器学习,持续计算、分布式远程调用等领域。当前无论是内部还是外部论坛介绍原理的文档都比较多,但主要都是从运行机制和原理方面的介绍,在 UI 方面的介绍甚少,今天我试着向大家介绍一下 storm ui,一方面可以让大家了解一下 storm 的机制,另外也可以让大家更好的使用好 storm ui 协助大家自助解决...原创 2019-05-28 11:54:47 · 1796 阅读 · 0 评论 -
【Storm】Storm配置滑动窗口
滑动窗口在监控和统计应用的场景比较广泛,比如每隔一段时间(10s)统计最近30s的请求量或者异常次数,根据请求或者异常次数采取相应措施;这里说一下滑动窗口在storm中实现的原理那么如何每10s进行自动触发,storm有一个TickTuple可以满足这个要求"__system" component会定时往task发送 "__tick" stream的tuple 发送频率由TOPOL...原创 2019-05-28 11:54:05 · 408 阅读 · 0 评论 -
【Storm】Storm配置文件详解
Storm的配置文件一般存放在$STORM_HOME/conf下,通常名为storm.yaml,它符合yaml格式要求。Storm的配置参数对任务的稳定运行以及吞吐率至关重要,这里介绍一下storm常见的配置项参数。一. storm基本配置storm.local.dir: nimbus 和supervisor进程存储一些状态信息(conf或者jars)的本地路径,需要每台storm node...原创 2019-05-28 11:53:29 · 2218 阅读 · 0 评论 -
【Storm】Storm并行概念
一. Storm并行相关的概念Storm集群有很多节点,按照类型分为nimbus(主节点)、supervisor(从节点)。 在conf/storm.yaml中配置了一个supervisor有多个槽(supervisor.slots.ports),每个槽就是一个JVM,就是一个worker,在每个worker里面可以运行多个线程叫做executor,在executor里运行一个topology的...原创 2019-05-28 11:52:52 · 230 阅读 · 0 评论 -
【Storm】Storm可靠机制
Storm 能够保证每一个由 Spout 发送的消息都能够得到完整地处理。本文详细解释了 Storm 如何实现这种保障机制,以及作为用户如何使用好 Storm 的可靠性机制。一. 完整性处理一个从 spout 中发送出的 tuple 会产生上千个基于它创建的 tuples。例如,有这样一个 word-count 拓扑:TopologyBuilder builder = new Topolo...原创 2019-05-28 11:49:35 · 282 阅读 · 0 评论 -
【Storm】流操作入门编程实战
Storm是一个分布式实时计算系统,它设计了一种对流和计算的抽象,概念比较简单,实际编程开发起来相对容易。下面,简单介绍编程实践过程中需要理解的Storm中的几个概念:一. TopologyStorm中Topology的概念类似于Hadoop中的MapReduce Job,是一个用来编排、容纳一组计算逻辑组件(Spout、Bolt)的对象(Hadoop MapReduce中一个Job包含一组...原创 2019-05-29 09:28:19 · 268 阅读 · 0 评论