Storm架构及搭建

Storm架构及搭建

架构

​ Nimbus 分配任务、资源调度、上传jar包

​ ZooKeeper 代理协调、健康检查(心跳)

​ Supervisor 接收Nimbus任务、开启/关闭自己管理的worker进程(可以开启n个woker)

​ Worker 运行具体处理运算组件的进程(每个Worker对应执行一个Topology的子集)

​ 执行任务(可以执行n个task(spolt–推送数据/bolt–逻辑单元处理)任务)

[外链图片转存失败(img-xdvbyLGu-1563925043849)(C:\Users\86158\AppData\Roaming\Typora\typora-user-images\1561290490904.png)]

Storm架构流程

​ 客户端将任务给Nimbus(主节点),主节点将任务交给ZK(代理协调),再由Supervisor(从节点)定期去ZK中寻找分配给自己的节点的任务,找到任务后开启/关闭1-n个自己的worker(进程),一个worker中会包含多个(executor)线程,一个executor对应1-n个task任务,一个task任务就是单一的spout/bolt。

​ 进程只是获取资源,每个线程才是计算数据的具体的角色

​ Supervisor只起到关闭或者开启自己的worker进程的功能

​ Worker也可以直接从ZK上获取任务

ZooKeeper在架构中的作用

​ 1.代理协调,具体详情如上

​ 2.健康检查

​ ZK保留着主节点、从节点、线程的心跳记录。

​ 情况1:ZK定期检查主节点和从节点状况,如果从节点宕机,ZK就会向主节点汇报,再由主节点重新分配任务,将新任务传递给从ZK,再由ZK分配新任务。

​ 情况2:当前从节点无故障,但连接从节点的n个线程中的一个线程(worker)故障,ZK与线程心跳不通时,ZK将故障线程的任务交由其他线程执行

Storm并发机制

​ 原wcountBolt是一个线程执行2个任务 即:executors 2 ,tasks 4

​ 将其改成一个线程执行一个任务

…0.10.0]./bin/storm rebalance -n 4 -e wcount=4

【storm rebalance topology-name 【-w wait-time-secs】【-n new-num-workers】 【-e component=parallelism】*】

topology-name ---------线程任务名

-w wait-time-secs ---------等待时间后执行(省略)

-n new-num-workers ---------设置新的woker数量

-e component=parallelism ---------相关组件设置,设置线程数

storm通讯机制

​ woker进程间的数据通信

​ ZMQ(开源的消息传递框架)

​ Netty(基于NIO的网络框架,更加高效)

​ woker内部的数据通信

​ Disruptor

​ 队列形式

搭建storm集群

1、配置zookeeper,jdk
2、将stormyasuobao解压到/opt
3、配置:
​ #配置zookeeper的地址
​ storm.zookeeper.servers:

​ “sxt002”
​ “sxt003”

​ “sxt004”

​ #配置nimbus的位置

​ nimbus.host: “sxt004”

指定每个supervisor上worker的通信端口

有几个端口就有几个worker

​ supervisor.slots.ports:

-6700

​ -6701

​ -6702
​ -6703
4、在sxt003和sxt004上分发storm包

​ scp -r 解压包 root@sxt003:pwd

​ scp -r 解压包 root@sxt004:`pwd

5、在解压好的目录中创建logs目录,用于寻找错误

6、在含有zk集群的虚拟机上启动zookeeper集群

zkServer.sh start

7、启动storm的进程
sxt004:
​ nimbus
​ storm nimbus >> logs/nimbus.out 2>&1 &
​ ui
​ storm ui >> logs/ui.out 2>&1 &
sxt002:
​ supervisor
​ storm supervisor >> logs/supervisor.out 2>&1 &
sxt003:
​ supervisor
​ storm supervisor >> logs/supervisor.out 2>&1 &

8.等待集群启动后进入网页查看

​ sxt004:8080

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值