甲骨文认证体系
Vmware认证体系
AWS亚马逊
阿里云认证体系
红帽认证体系
ZStack云计算认证体系
思科认证体系
华为认证体系
CDA数据分析师认证
达梦认证体系
麒麟
定制化课程
streaming入门
发布日期:2020-08-05 18:27:14阅读次数:

 

目录

.streaming简介

 

概念

特点

 

.streaming系统架构

 

storm数据处理模型(topology

系统架构

运行流程

task介绍

 

.streaming关键特性

 

HA

消息可靠些

ACK机制

 

.streaming简介

1.概念

streaming:是一个计算框架,基于开源storm

storm:是一个实时处理,流式处理的引擎。它是独立的(spark是基于hadoop),开源的,免费的。

微批处理:spark   批处理:mapreduce

storm是流式处理的:数据来一条就处理一条(打开后一直运行,手动kill进程,进程才会结束)

2.特点

 

分布式:数据分布给多个节点并行处理

2. 实时:来一条数据处理一条

 

.streaming系统架构

1.storm数据处理模型(topology)

 

 

spout:数据产生的源头

tuple:数据单元

bolt:数据处理单元,每一个bolt实现不同的处理方式

 

一个Topology是由一组Spout组件(数据源)和Bolt组件(逻辑处理)通过Stream Groupings进行连接的有向无环图(DAG)

2.系统架构

 

 

nimbus:管理者,进行资源的分配,管理

supervisor:工作者,实际执行任务的

worker:进程

excutor:线程taskspoutbolttuple进行处理)执行

zookeeper:监控,主备选举(nimbus),通过心跳线对组件状态进行监控

streamtopology中的每一条线就是一个stream

 

3.运行流程

 

client提交topologynimbus

nimbus在集群中将资源分配给supervisor

supervisor接受后启动worker中的executor,对executor中的task进行执行

通过zookeeper上报状态

 

4.task介绍

 

在一个单独的Worker进程中会运行一个或多个Executor线程。,taskexcutor中执行

一个bolt/spout可以在多个worker的多个excutor里面运行

默认情况下,一个excutor对应一个task

.streaming关键特性

1.HA

容灾能力(类似重建副本机制):当一个节点中的拓扑故障时,会自动迁移到别的正常节点进行运行。保证任务不会中断。

2.消息可靠性

 

streaming里面一个tuple被完全处理的意思是:这个tuple以及由这个tuple所派生的所有的tuple都被成功处理。如果这个消息在Timeout所指定的时间内没有成功处理,这个tuple就被认为处理失败了。

3.ACK机制

Streaming里面有一类特殊的task称为:acker, 他们负责跟踪spout发出的每一个tupletuple树。

 

spout(数据源)每产生一个tuple都会产生一个随机数164位),然后告诉acker(原本校验值为0,每产生一个tuple就会更新校验值)

tuple交给bolt2处理,bolt2也会给acker发送另一个随机数2

acker对随机数12进行计算,如果成功的话,校验值最终还是会为0。如果校验值不为0,意味着这个拓扑失败。


  

想了解更多IT知识,推荐你关注腾科教育.