`
bit1129
  • 浏览: 1056661 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【Storm一】Storm概念入门

 
阅读更多
  • 什么是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

  • 大小: 80.2 KB
  • 大小: 183.4 KB
  • 大小: 54.6 KB
分享到:
评论

相关推荐

    Storm入门教程 之Storm原理和概念详解

    Storm入门教程 之Storm原理和概念详解,出自Storm流计算从入门到精通之技术篇,Storm入门视频教程用到技术:Storm集群、Zookeeper集群等,涉及项目:网站PV、UV案例实战、其他案例; Storm视频教程亮点: 1、Storm...

    8_storm.docx

    storm 入门学习笔记。主要包括 storm概念,storm架构。能很好的对 storm 基础有一个入门。

    漫谈大数据第四期-storm

    其中讨论了多种Storm概念和抽象,提供了范例代码以便你可以运行一个Storm Topology。开发过程中,可以用本地模式来运行Storm,这样就能在本地开发,在进程中测试Topology。一切就绪后,以远程模式运行 Storm,提交...

    Storm实时计算:流操作入门编程实践

    Storm是一个分布式是实时计算系统,它设计了一种对流和计算的抽象,概念比较简单,实际编程开发起来相对容易。下面,简单介绍编程实践过程中需要理解的Storm中的几个概念:Storm中Topology的概念类似于Hadoop中的...

    大数据Spark入门教程

    大数据 Spark Storm 流计算 storm基本概念及架构 案例讲解及开发实践 spark基本概念与架构

    Apache Flink:详细入门.docx

    Apache Flink 详细入门 Apache Flink 是一个面向分布式数据流处理和批量数据处理的开源计算平台,它能够基于同一个 Flink 运行时(Flink Runtime),提供支持流处理和批处理两种类型应用的功能。 Flink 的特点 1....

    实时计算Samza中文教程.pdf

    Samza是一款优秀的分布式流处理框架,非常像Twitter的流处理系统Storm(即Lambda架构Hadoop+Storm)。不同的是Samza基于Hadoop,而且使用了LinkedIn自家的Kafka分布式消息系统(即Kappa架构Kafka+Samza)。其优势...

    Apache Spark 2.0.2 中文官方文档

    文档中附带了一些基础的案例,也附带了相应的代码,可用于基础性学习,一开始不要急着写代码,先看文档,一些基本的概念懂了之后,再开始试着慢慢的写代码,即可入门 。。。 当然,学习 Spark 时最好还是有一些前置...

    安全数据科学分享.pdf

    • 机器学习的基本概念 • 机器学习在安全领域的应用 • 如何入门和学习安全数据分析 ..... 如何学习安全数据分析? 1、先学习基本的算法原理,补充数学知识——Coursera 上的机器学习课程 2、学习Python的几个机器...

    新版Hadoop视频教程 段海涛老师Hadoop八天完全攻克Hadoop视频教程 Hadoop开发

    第一天 hadoop的基本概念 伪分布式hadoop集群安装 hdfs mapreduce 演示 01-hadoop职位需求状况.avi 02-hadoop课程安排.avi 03-hadoop应用场景.avi 04-hadoop对海量数据处理的解决思路.avi 05-hadoop版本选择和...

    用于实时大数据处理的Lambda架构

    而不是AWS的同名服务,但是其中所强调的容错性、横向扩容、易于维护等通用性质的概念却是二者都具备的,对于AWSLambda感兴趣的可以看博客的另外一篇文章《Serverless(无服务器)架构入门byLambda》或访问AWS官方了解...

    开源力量——数据挖掘原理与实战

    整套大数据课程从hadoop入门开始,由浅入深,内置“hadoop源码解析与企业应用开发实战”,“Hive开发实战”,“Hbase开发实战”,“Spark,mahout,sqoop,storm诸模块开发实战”,“数据挖掘基础。这个系列课程有几...

Global site tag (gtag.js) - Google Analytics