Storm学习

    xiaoxiao2022-06-22  17

            虽然这两个框架都提供可扩展性和容错性,它们根本的区别在于他们的处理模型。而Storm处理的是每次传入的一个事件,而Spark Streaming是处理某个时间段窗口内的事件流。因此,Storm处理一个事件可以达到秒内的延迟,而Spark Streaming则有几秒钟的延迟。

    Storm 组件:

        主从结构: 主为Nimbus,从为Supervisor      通过zookeeper管理。

        主单点的活比较轻,只负责管理。Supervisor管理worker干活。他也不负责数据计算与数据传输。

    有些人认为:Storm的数据传输,数据通信是由worker开进行。这是不合理,他们提出数据通信有一个中间件来进行。因此有了Heron,使用Supervisor复用负责数据传输。

    除此之外还有一个DRPC组件、还有GUI来监控Storm。

    Storm作业提交流程:

    1.用Storm的api写一个作业,称之为Topolgy

    2.使用client提交Topology给Nimhus

    3.分配task给Supervisor

    4.supervisor为task启动worker

    5.worker执行task

    作业=Topolgy  :Topolgy由数据源节点Spout与普通计算节点Bolt组成,还有一些边数据流Stream(在流里面的每一条记录称之为Tuple)。组成一个计算拓扑图。 

    这里是一个bolt链,不断的处理数据,bolt可以随时写数据到外部数据源中

    数据传输的tuple可以grouping,也就是安装一定规则或者随机传输。

    API

    转载请注明原文地址: https://ju.6miu.com/read-1122763.html

    最新回复(0)