博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
storm学习笔记
阅读量:4979 次
发布时间:2019-06-12

本文共 1049 字,大约阅读时间需要 3 分钟。

1.storm简介

  a:storm是一个开源免费的分布式实时计算系统,它可以轻松的处理无界的数据流。

  b:storm只负责数据的计算,不负责数据的存储。

2.storm应用场景

  实习计算,在线机器学习,连续计算,分布式RPC,ETL等。

3.storm的核心技术组成

a:Topology(拓扑)

         一个拓扑是一个图的计算,一个拓扑是由若干个Spout,Bolt组成

b:Stream(流)

        流式storm的核心抽象,一个流是一个无界Tuple序列,Tuple可以包含整型,长整型,短整型,字节,字符,双精度数,浮点数,布尔值和字节数组。

c:Spout

        spout是Topology流的数据来源。一般Spout从外部来源读取Tuple,然后提交到Topology。

d:Bolt

      Topology中的所有数据的处理都是在Bolt中完成的。Bolt可以完成数据过滤,业务处理,连接运算,连接,访问数据库等操作。

e:Stream grouping(流分组)

      流分组在Bolt的任务中定义流应该如何分区。

f:Task(任务)

     每个Spout或Bolt在集群中执行许多任务,每个任务对应一个线程的执行。

3.集群架构

Nimbus:负责资源分配和任务调度

Supervisor:负责接受nimbus分配的任务,启动和停止属于自己管理的Worker进程。

Task:worker中每一个spout/bolt的线程称为一个task。

流程:

     a:在集群架构中,用户提交到任务到storm,交由nimbus处理。

     b:nimbus通过zookeeper进行查找supervisor的情况,然后选择supervisor进行执行任务。

     c:supervisor会启动一个work进程,在worker进程中启动线程进行执行具体的业务逻辑。

4.工作进程,执行器,任务之间的关系

 

a:工作进程(worker):在storm中,所提交的Topology将会在supervisor服务器上启动独立的进程来执行。

b:执行器(executor):是在worker中执行的线程,在向Topology添加spout或bolt时可以设置线程数。

d:任务(task):是在执行器中最小的工作单元。

在默认的情况下task和executor的 数量是一样的,也就是说,默认情况下storm会在每个线程上运行一个task。

转载于:https://www.cnblogs.com/chengwentan/p/9983708.html

你可能感兴趣的文章
中文词频统计
查看>>
boost::lockfree::stack
查看>>
mysql5.7 安装版安装
查看>>
VM14安装Mas os 13
查看>>
2014年4月4日
查看>>
Java高新技术 类加载器
查看>>
js原型
查看>>
Android开发 自制圆形带进度显示的进度条
查看>>
.Net IE10 _doPostBack 未定义
查看>>
MVC ashx 中禁用Html标签请求验证
查看>>
9-lvs-lvs集群-及keepalived健康检查
查看>>
转:后端开源软件集合
查看>>
2016级算法第三次上机-D.双十一的抉择
查看>>
工作中的。学习
查看>>
洛谷 P1892 [BOI2003]团伙(并查集)
查看>>
UVA10763 交换学生 Foreign Exchange 题解
查看>>
精益管理
查看>>
python爬某个网站的图片
查看>>
SDN第二次上机作业
查看>>
关于行和列的算法
查看>>