首页 > 代码库 > storm学习
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学习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。