storm学习

Posted fengjian1585

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了storm学习相关的知识,希望对你有一定的参考价值。

一 storm 相关术语

1 . Nimbus
storm 集群主节点,负责资源分配和任务调度。(相当于namenode)

2. supervisor

storm集群工作节点,接受Nimbu分配任务,管理worker

3.worker

supervisor 下的工作进程,具体任务执行,一个worker通常对应一个jvm

4 task

worker下的工作线程,0.8版本之后表示逻辑线程。

5 topology

实时计算逻辑,计算拓扑,由spout 和bolt 组成的图形结构

6.spout

storm 编程模型中的消息源, 可进行可靠传输(ack/fail机制)

7.bolt

storm 变成模型中的处理组件,定义execute方法进行实际的数据逻辑处理。

8. steam

拓扑中的消息流, 传输的对象是tuple.

9.Tuple

一次消息传递的基本单元

10.stream groupings数据流分组策略

(1)shuffle grouping: 随机分组,保证blot接受的tuple数据相同。

(2)fields grouping: 按字段分组, 相同tuple 会分到同意blot中

 

二 storm集群架构图

 

2. 数据处理流程

 

3. 拓扑图分析

 

storm主要特点

1. 简单的编程模型
提供了简单的spout + bolt的变成模型,让普通的java工程师也能快速的、高效的写出高并发实时处理任务,大大的降低了相关业务处理的研发成本。

2.高扩展性
1)支持节点的水平扩展,支持千级节点的扩展
2)工作进程的扩展,每个工作节点可以有多个工作进程
3)每个工作进程 可以创建多个线程
4)每个线程又可以执行多个任务,任务才是真正进行数据处理的实体;

3.高可靠性
消息以消息树的形式存在,提供ack/fail消息保存机制

4.高容错性
1)节点级别的容错
2)worker 级别的容错, 不支持nimbug容错

5. 支持多语言编程
支持java ,python

6.支持本地模式
storm开发流程是,编写好storm程序后,编译成jar包,并且提交到nimbus上执行。 本地模式 模拟storm集群模式,进行调试。

7.高性能
内部通讯采用zeroMQ通讯,保证消息被快速处理

 

storm与 yarn结合 ,storm 运行在yarn之上

1) 资源的弹性计算
2) 共享底层存储
3) 支持多版本共存
4) 整体架构的统一

 

storm安装

 

以上是关于storm学习的主要内容,如果未能解决你的问题,请参考以下文章

Storm学习:Storm简介

.NET 云原生架构师训练营(基于 OP Storming 和 Actor 的大型分布式架构三)--学习笔记...

jstorm之于storm

storm学习笔记

storm学习

Storm初步