码迷,mamicode.com
首页 > 其他好文 > 详细

storm学习

时间:2016-12-21 18:30:31      阅读:206      评论:0      收藏:0      [点我收藏+]

标签:node   viso   tor   任务调度   随机   工程   nod   实时   rom   

一 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学习

标签:node   viso   tor   任务调度   随机   工程   nod   实时   rom   

原文地址:http://www.cnblogs.com/fengjian2016/p/6208507.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!