-
什么是Storm
-
Storm的基本术语
-
Storm组件协作图
-
Storm消息机制
什么是Storm
Storm用于流式计算和实时计算,简称实时流计算。实时流计算的三种常见场景:事件流、持续计算和分布式远程方法调用。流式计算框架如Storm关注于数据多次处理,一次写入;是批处理计算框架如Hadoop关注于数据一次写入,多次查询统计以提取有用信息。
The input stream of a Storm cluster is handled by a component called a spout. The spout passes the data to a component called a bolt, which transforms it in some way. A bolt either persists the data in some sort of storage, or passes it to some other bolt. You can imagine a Storm cluster as a chain of bolt components that each make some kind of transformation on the data exposed by the spout.
- Storm与Hadoop 1.x的角色对比
Storm基本术语
- Toplogy
Toplogy是Storm中运行的一个任务,类比Hadoop1.x中的一个作业(Job)
- Nimbus
Nimbus在Storm中用于资源分配和作业调度,类比Hadoop1.x中的JobTracker
- Supervisor
Supervisor在Storm中用于接受Nimbus分配的任务,并且启动和停止用于完成这些任务的Worker进程。Supervisor类比Hadoop1.x中的TaskTracker
- Worker
运行Storm中具体组件逻辑的进程。这里的组件指的是Spout或者Bolt,对比Hadoop1.x的Child进程
- Task
Worker进程中每个运行Spout或者Bolt组件逻辑的线程称为Task
- Spout
在一个Toplogy中产生源数据流的组件
- Bolt
在一个Toplogy中接受数据,并进行逻辑处理的组件,称为Transformation
- Tuple
一次消息传递的基本单元
- Stream Grouping
消息分组的方法
Storm作业协作图
可见,Storm是一个典型的Master/Workers架构。Nimbus和Supervisors构成一组Master/Workers架构,Supervisor和Workers构成一组Master/Workers架构。
从上面的图中可以看到,Bolts之间是一种流式的计算,一份数据在多个Bolt之间进行处理转换,每种类型的Bolt可以是一个集群,因此,这种架构的可扩展性是天然的。
Storm的消息机制
如上图所示,Spout和Bolt之间,多个Bolt之间,有数据的传输,Storm底层是ZeroMQ作为消息队列的管理,Storm保证消息能够快速的被消费(性能),同时保证消息能够被消费(可靠性)
参考:http://wenku.baidu.com/view/3b695d5c7fd5360cba1adbf3.html
相关推荐
Storm入门教程 之Storm原理和概念详解,出自Storm流计算从入门到精通之技术篇,Storm入门视频教程用到技术:Storm集群、Zookeeper集群等,涉及项目:网站PV、UV案例实战、其他案例; Storm视频教程亮点: 1、Storm...
storm 入门学习笔记。主要包括 storm概念,storm架构。能很好的对 storm 基础有一个入门。
其中讨论了多种Storm概念和抽象,提供了范例代码以便你可以运行一个Storm Topology。开发过程中,可以用本地模式来运行Storm,这样就能在本地开发,在进程中测试Topology。一切就绪后,以远程模式运行 Storm,提交...
Storm是一个分布式是实时计算系统,它设计了一种对流和计算的抽象,概念比较简单,实际编程开发起来相对容易。下面,简单介绍编程实践过程中需要理解的Storm中的几个概念:Storm中Topology的概念类似于Hadoop中的...
大数据 Spark Storm 流计算 storm基本概念及架构 案例讲解及开发实践 spark基本概念与架构
Apache Flink 详细入门 Apache Flink 是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个 Flink 运行时(Flink Runtime),提供支持流处理和批处理两种类型应用的功能。 Flink 的特点 1....
Samza是一款优秀的分布式流处理框架,非常像Twitter的流处理系统Storm(即Lambda架构Hadoop+Storm)。不同的是Samza基于Hadoop,而且使用了LinkedIn自家的Kafka分布式消息系统(即Kappa架构Kafka+Samza)。其优势...
文档中附带了一些基础的案例,也附带了相应的代码,可用于基础性学习,一开始不要急着写代码,先看文档,一些基本的概念懂了之后,再开始试着慢慢的写代码,即可入门 。。。 当然,学习 Spark 时最好还是有一些前置...
• 机器学习的基本概念 • 机器学习在安全领域的应用 • 如何入门和学习安全数据分析 ..... 如何学习安全数据分析? 1、先学习基本的算法原理,补充数学知识——Coursera 上的机器学习课程 2、学习Python的几个机器...
第一天 hadoop的基本概念 伪分布式hadoop集群安装 hdfs mapreduce 演示 01-hadoop职位需求状况.avi 02-hadoop课程安排.avi 03-hadoop应用场景.avi 04-hadoop对海量数据处理的解决思路.avi 05-hadoop版本选择和...
而不是AWS的同名服务,但是其中所强调的容错性、横向扩容、易于维护等通用性质的概念却是二者都具备的,对于AWSLambda感兴趣的可以看博客的另外一篇文章《Serverless(无服务器)架构入门byLambda》或访问AWS官方了解...
整套大数据课程从hadoop入门开始,由浅入深,内置“hadoop源码解析与企业应用开发实战”,“Hive开发实战”,“Hbase开发实战”,“Spark,mahout,sqoop,storm诸模块开发实战”,“数据挖掘基础。这个系列课程有几...