Storm学习笔记一:Storm基础知识

2019-12-13  本文已影响0人  开发者连小超

Storm介绍

Storm是一个流式计算框架,用来实时处理数据,特点:低延迟、高可用、分布式、可扩展、数据不丢失。

Storm架构

Storm架构.png

关于上图,采自网上的一段通俗理解:
Nimbus就像人的大脑一样,当客户端给这个人发送了段信息 ,这个人的大脑就接收到这段信息,这个人不简单,是幕后大佬,一般不自己去干活,都是交给下面二当家的(Supervisor)去执行。

这个大佬比较公平,先去Zookeeper那边看看每个二当家的(Supervisor)那里还有多少个可以干活的小弟(Worker),不会亏待了下面小弟,而小弟每过一段时间需要给Zookeeper负责人打个电话报备下。

毕竟在外混,难免有牺牲了,Nimbus知道这些情况后,开始分配任务,就让自己的秘书 Zookeeper女士去宣布让下面各位二当家的干活。二当家的把活分给自己的小弟(Worker),小弟这时候才真的让最底层的跟班(Task)去干活。

Storm编程模型

Storm任务提交流程

Storm任务提交流程.png

Storm目录树

Storm目录树.png

StormZookeeper目录树

StormZookeeper目录树.png

Storm并发机制

Storm并发机制.png
调整Worker进程数量(无法调整task数量)
假设有了10个节点的集群,每个节点有4个worker(进程),如果再增加10台服务器,就需要调整进程数了,每个节点只跑两个进程。
#将mytopology拓扑worker进程数量调整为4个,
# -w 2  延迟2s执行
# -n 重新确定worker数量4
# wcsplitbolt 所使用的线程数量调整为4个
storm rebalance mytopology -w 2 -n 4 -e wcsplitbolt=4
上一篇下一篇

猜你喜欢

热点阅读