美文网首页
大数据入门:Storm基础讲解

大数据入门:Storm基础讲解

作者: 成都加米谷大数据 | 来源:发表于2020-11-23 16:55 被阅读0次

    在大数据学习当中,主流的技术框架通常都是需要有相应程度的掌握的,包括Hadoop、Spark、Storm、Flink等。其中,Storm这个框架,其实处在一个稍微尴尬的地位,市场占有率称不上特别高,但是也不容忽视。今天的大数据入门分享,我们来对Storm做个简单的入门讲解。

    诚如我们前面所说,Storm在大数据技术生态的地位,是处在不上不下的一个位置上。在企业级开发的市场上,Hadoop和Spark占据了主流地位,新晋的Flink也来势汹汹,而Storm在市场的裹挟之下,常常陷入被忽视的境地。

    Storm简介

    Storm,可以说是第一个实现了分布式实时计算框架,相比于Spark的准实时,Storm是“真正意义上的实时”。但是Spark与Hadoop的集成优势,却是Storm比不过的,由此也为Storm的后来发展埋下了伏笔。

    Storm有很多应用场景,包括实时数据分析、联机学习、持续计算、分布式RPC、ETL等。尤其是在处理连续的流数据上,Storm性能是值得肯定的。

    Storm核心概念

    要学习Storm,我们先从Storm的几个核心概念开始讲起——

    Topology(拓扑):在Storm中,分布式计算的结构被称为一个拓扑,它由流数据(Stream),Spouts(流生产者),以及bolt(操作)组成。拓扑涵盖了数据源获取、数据生产、数据处理的所有代码逻辑。

    Spout:Spout是storm拓扑的主要数据入口点,Spout像适配器一样连接到一个源的数据,将数据转换为元组,发然后发射出一连串的元组。

    Bolt:Bolts可以被认为是运算操作或函数,Spout会将数据传送给bolt,各种bolt还可以串联成一个计算链条。

    Tuple:Storm的核心数据结构,是一个简单的键值对数据,每条数据都会被封装在tuple中,在多个spout和bolt之间传递。

    Stream:就是一个流,抽象的概念,源源不断过来的tuple,就组成了一条数据流。

    Storm集群架构

    通常来说,Storm集群采用主从架构方式,主节点是Nimbus,从节点是Supervisor,有关调度相关的信息存储到ZooKeeper集群中。

    Nimbus

    Storm集群的Master节点,负责分发用户代码,指派给具体的Supervisor节点上的Worker节点,去运行Topology对应的组件(Spout/Bolt)的Task。

    Supervisor

    Storm集群的从节点,负责管理运行在Supervisor节点上的每一个Worker进程的启动和终止。

    Worker

    运行具体处理组件逻辑的进程。Worker运行的任务类型只有两种,一种是Spout任务,一种是Bolt任务。

    Task

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

    ZooKeeper

    用来协调Nimbus和Supervisor,如果Supervisor因故障出现问题而无法运行Topology,Nimbus会第一时间感知到,并重新分配Topology到其它可用的Supervisor上运行。

    关于大数据学习,Storm入门,以上就为大家做了一个简单的介绍了。Storm这个框架,在大数据学习当中,需要学,但是重要程度可以略微排在Hadoop、Spark之后,合理安排学习时间。

    相关文章

      网友评论

          本文标题:大数据入门:Storm基础讲解

          本文链接:https://www.haomeiwen.com/subject/bojviktx.html