Storm简单介绍

storm
------------------
实时计算系统。
使用场景:实时分析、在线机器学习、持续计算。
         流计算。
速度快,每秒每节点处理数据百万tuple级别.
topology:
无状态,集群状态和分布式环境信息在zk中保存。
确保每个消息至少被消费一次。


核心概念
-----------------
1.tuple :元组
数据结构,有序的元素列表。通常是任意类型的数据,使用,号分割,交给storm计算。
2.Stream :一系列tuple。
3.Spouts :水龙头。数据源。
4.Bolts :转接头。逻辑处理单元,spout数据传给bolt,bolt处理后产生新的数据,可以filter、聚合、分组。
接收数据 -> 处理 ->输出给bolt(多个).
5.Topology :不会停止的,除非手动杀死。MR是会停止的。
6.tasks :spout和bolt的执行过程就是task。
spout和bolt都可以以多实例方式运行(在单独的线程中)
7.workers :工作节点。storm在worker之间均衡分发任务。监听job,启动或者停止进程。
8.stream grouping :控制tuple如何进行路由。
内置4个分组策略。


组件
-------------------
1.Nimubs :master node,在work node间分发数据,指派task给worker node,监控故障。
2.Supervisor :接收nimbus的指令,有多个work进程,监督work进程,完成task。
3.work prcess :执行相关的task,本身不执行,创建executor(执行线程),可以有多个执行线程。
4.executor :执行线程,由work进程孵化的一个线程,运行一个或多task(有bolt/spout)
5.task :处理数据。
6.zk :维护状态。




storm架构
----------------------
1.节点类型
a)Nimbus :灵气,master node,
主要工作运行topology,分析topplogy,收集执行的task。将task分发给supervisor(可用的)
b)supervisor:work node.有多个处理进程,代理task给所有的work进程,work进程孵化出足够的线程供task运行。

在Nimbus和supervisor之间使用内部的消息系统进行通信。

安装storm
----------------------
1.jdk
略 
2.zk

3.storm
a)下载apache-storm-1.0.2.tar.gz
b)安装并配置环境变量。
...
4.配置storm,不能用tab键。
[conf/storm.yaml]
#zk
storm.zookeeper.servers:
 - "111.222.333.444"                       ///-"s101"
 - "555.666.777.888"

#local dir 
storm.local.dir: "/home/ubuntu/storm"

#nimubs主机配置
nimbus.seeds: ["111.222.333.44"]                //["s100"]


#work进程数(端口数量)
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703


#storm.health.check.dir: "healthchecks"

#storm.health.check.timeout.ms: 5000
 
5.启动storm守护进程
1.Nimubs
$>storm nimbus //启动nimbus
2.supervisor
$>storm supervisor
3.ui
$>storm ui //启动web服务器,8080/

storm进程名称
----------------
1.nimbus
nimbus
2.supervisor
supervisor
3.core
ui进程.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值