Storm基本知识总结

Storm是一个开源的分布式实时计算系统,可以简单、可靠的处理大量的数据流。Storm的部署和运维都很便捷,而且更为重要的是可以使用任意编程语言来开发应用

storm:实时计算系统

低延迟,高性能,分布式,可扩展,容错

特点:简单编程模型,热部署,各种编程语言,可扩展,容错,可靠消息处理,快速,本地模式

storm基本概念:

Nimbus:负责资源分配和任务调度

Supervisor:负责接受nimbus分配的任务,启动和停止属于自己管理的worker进程

Worker:运行具体处理组件逻辑的进程

Task:worker中每一个spout/bolt的线程称为一个task,在storm0.8后,task不在与物理线程对应,同一个spout/bolt的task可能会共享一个物理线程,该线程称为executor

Topology:storm中运行的一个实时的应用程序,因为各个组件间的消息流动形成逻辑上的一个拓扑结构

Spout:在一个topology中产生源数据的组件。通常情况下spout会从外部数据源中读取数据,然后转换为topology的内部的源数据。spout是一个主动的角色,其接口中有一个nextTuple()的函数。storm框架会不停的调用此函数,用户只要在其中生成源数据即可。

Bolt:在一个topology中接受数据然后执行处理的组件。Bolt可以执行过滤、函数操作、合并、写数据库等任何操作。Bolt是一个被动的角色,其接口中有个execute(Tupleinput)函数,在接受到消息后会调用此函数,用户可以在其中执行自己想要的操作。

Tuple:一次消息传递的基本单元。本来应该是一个key-value的map,但是由于各个组件间的传递的tuple的字段名称已经事先定义好,所以Tuple中只要按序填入各个value就行了,是一个valueList。

Stream:源源不断传递的Tuple就组成了stream.

Strom使用场景:

1.流聚合:把两个或者多个数据流聚合成一个数据流-基于一些共同的tuple字段。

2.批处理:为了性能或者一些别的原因,把一组tuple一起处理,而不是一个一个的单独处理。

3.BasicBolt

a.读一个输入的tuple

b.根据一个输入tuple发射一个或多个tuple

c.在execute的方法的最后ack那个输入tuple遵循这类模式的bolt一般是函数或者是过滤器,这种模式太常见,storm为这类模式单独封装了一个接口:IbasicBolt

d.内存内缓存+Fields grouping组合

e.据算topN

f.用TimeCacheMap来高效的保存一个最近被更新对象的缓存

g.分布式RPC

storm分组机制

1.随机分组(Shuffle grouping)

2.字段分组(Fields grouping)

3.全部分组(All grouping)

4.全局分组(Global grouping)

5.无分组(None grouping)

6.直接分组(Direct grouping)

7.实现CustomStreamGrouping接口来定义自己的分组

时间: 2024-11-05 14:53:17

Storm基本知识总结的相关文章

Storm 基础知识

分布式的实时计算框架,storm对于实时计算的意义类似于hadoop对于批处理的意义. Storm的适用场景: 1.流数据处理:storm可以用来处理流式数据,处理之后将结果写到某个存入中去. 2.持续计算:连续发送数据到客户端,使它们能够实时更新并显示结果,如网站指标 3.分布式RPC:由于storm的处理组件是分布式的,而且处理延迟极低,所以可以作为一个通用的分布式rpc框架来使用. 我们的搜索引擎本身也是一个分布式rpc系统. storm关注的是数据的一次写入多次处理,storm的job运

hadoop知识体系

目录结构知识点还是挺全的,可以按照点学习. 一.Hadoop入门,了解什么是Hadoop 二.分布式文件系统HDFS,是数据库管理员的基础课程 1.Hadoop产生背景 2.Hadoop在大数据.云计算中的位置和关系 3.国内外Hadoop应用案例介绍 4.国内Hadoop的就业情况分析及课程大纲介绍 5.分布式系统概述 6.Hadoop生态圈以及各组成部分的简介 7.Hadoop核心MapReduce例子说明 1.分布式文件系统HDFS简介 2.HDFS的系统组成介绍 3.HDFS的组成部分详

storm文档(6)----storm手册目录

源地址:http://storm.apache.org/documentation/Documentation.html storm基础知识 l  Javadoc l  概念 l  配置 l  保证消息处理机制 l  容错性能 l  命令行客户端 l  理解storm topology并行机制 l  FAQ trident 对storm来说,trident是可选接口.它提供了准确的一次性处理.事务性数据存储保持以及一系列通用数据流分析操作. l  Trident指导-----基本概念及浏览 l 

storm性能优化

Storm 性能优化 目录 场景假设 调优步骤和方法 Storm 的部分特性 Storm 并行度 Storm 消息机制 Storm UI 解析 性能优化 场景假设 在介绍 Storm 的性能调优方法之前,假设一个场景:项目组部署了3台机器,计划运行且仅运行 Storm(1.0.1) + Kafka(0.9.0.1) + Redis(3.2.1) 的小规模实验集群,集群的配置情况如下表: | 主机名 | 硬件配置 | 角色描述 ||: ---------------- :|: ----------

大数据学习线路图

近期开始大数据的学习,在学习之前给给自己定义了一个大数据学习路线 大数据技术学习路线指南 一.Hadoop入门,了解什么是Hadoop 1.Hadoop产生背景2.Hadoop在大数据.云计算中的位置和关系3.国内外Hadoop应用案例介绍4.国内Hadoop的就业情况分析及课程大纲介绍5.分布式系统概述6.Hadoop生态圈以及各组成部分的简介7.Hadoop核心MapReduce例子说明二.分布式文件系统HDFS,是数据库管理员的基础课程1.分布式文件系统HDFS简介2.HDFS的系统组成介

大数据学习路线

偶遇大数据学习路线,赶上一次科技革命不容易,追求下,要有所作为! 一.Hadoop入门,了解什么是Hadoop 1.Hadoop产生背景2.Hadoop在大数据.云计算中的位置和关系3.国内外Hadoop应用案例介绍4.国内Hadoop的就业情况分析及课程大纲介绍5.分布式系统概述6.Hadoop生态圈以及各组成部分的简介7.Hadoop核心MapReduce例子说明 二.分布式文件系统HDFS,是数据库管理员的基础课程 1.分布式文件系统HDFS简介2.HDFS的系统组成介绍3.HDFS的组成

细细品味架构(第1期)_实时计算在点评

Hi,博友: 欢迎查阅<细细品味架构>系列,本系列将和我一起学习,并慢慢走近架构师的神秘世界. 本期目录: 1.本期内容... 3 1.1 版权申明... 3 1.2 内容详情... 3 1.2.1 实时计算在点评的使用场景... 3 1.2.2 实时计算在业界的使用场景... 4 1.2.3 点评如何构建实时计算平台... 5 1.2.4 Storm基础知识简单介绍... 6 1.2.5 如何保证业务运行可靠性... 8 1.2.5 Storm日常使用经验分享... 10 1.2.6 关于计

从零开始2016----大数据学习

工作这么多年了,从零开始学习  大数据,现在把提纲保存一下. 一.Hadoop入门,了解什么是Hadoop1.Hadoop产生背景2.Hadoop在大数据.云计算中的位置和关系3.国内外Hadoop应用案例介绍4.国内Hadoop的就业情况分析及课程大纲介绍5.分布式系统概述6.Hadoop生态圈以及各组成部分的简介7.Hadoop核心MapReduce例子说明二.分布式文件系统HDFS,是数据库管理员的基础课程1.分布式文件系统HDFS简介2.HDFS的系统组成介绍3.HDFS的组成部分详解4

贵阳如何学习大数据?大数据学习路线安排

很多朋友不知道怎么入手学习大数据,今天科多大数据带你进入大数据的世界. 一.Hadoop入门,了解什么是hadoop 1.Hadoop产生背景 2.Hadoop在大数据.云计算中的位置和关系 3.国内外Hadoop应用案例介绍 4.国内Hadoop的就业情况分析及课程大纲介绍 5.分布式系统概述 6.Hadoop生态圈以及各组成部分的简介 7.Hadoop核心MapReduce例子说明 二.分布式文件系统HDFS,是数据库管理员的基础课程 1.分布式文件系统HDFS简介 2.HDFS的系统组成介