storm体验
简介
Apache Storm is a free and open source distributed realtime computation system
实时计算系统
特点:
高度容错
无数据丢失
低延迟
可扩展
实时计算框架分类
批处理
Spark streaming
流式处理
Strom
Flink
Kafka stream
核心概念
Topology(拓扑)
Spout:对接数据源, 产生tuple
Bolt: 处理tuple的基本单元
Tuple:一次消息传递的基本单元
Worker: 物理机的一个进程, 里面跑一个Topology
Executor: worker里面的一个线程,
Task: 一个Executor里面运行一类task
组件
storm系统角色和应用组件基本理解:
和Hadoop一起理解,清晰点。
1)物理节点Nimubus,负责资源分配和任务调度;
2)物理节点Supervisor负责接受nimbus分配的任务,启动和停止属于自己管理的worker进程;
3)系统角色Worker运行具体处理组件逻辑的进程;
4)系统角色Task是worker中每一个spout/bolt的线程称为一个task,storm0.8之后的版本,task不再与物理线程对应,同一个spout/bolt的task可能会共享一个物理线程,该线程称为executor
公司的运维情况
应用发布平台: mario
http://bda.mogujie.org/mario/app/edit?editType=cql
支持的方式
Stream CQL(华为) http://bda.mogujie.org/gitbooks/mario/streamcql/
Mario DSL(基于esper) http://bda.mogujie.org/gitbooks/mario/dsl-tech/2.mario_dsl.html
原生jar http://bda.mogujie.org/gitbooks/mario/storm-api/8.how_to_use_user_defined_jar.html
任务分析
版本:1.0.2
自带面板:
http://10.50.64.200:9090/topology.html?id=hz-kafka-filter-330-1509413154
实战
消费曝光队列和和点击队列的->进行白名单过滤->写kafka
参数调优