storm初识印象
来源:互联网 发布:clean my mac 怎么样 编辑:程序博客网 时间:2024/05/01 15:43
分布式、高容错 、实时、计算系统、流数据处理、分布式RPC
Topology:拓扑图。Topology里面的每个处理节点都包含处理逻辑。而节点之间的连接则表示数据流动的方向。不会主动休息,除非你暴力把他停掉
spout:喷口,流的源头,从外部数据源(队列、数据库等)读取数据,然后封装成Tuple形式,之后发送到Stream中。Spout是一个主动的角色,在接口内部有个nextTuple函数,Storm框架会不停的调用该函数
bolt:螺栓,处理输入的Stream,并产生新的输出Stream。可以执行过滤、函数操作、Join、操作数据库等操作,是一个被动的角色,其接口中有一个execute(Tuple input)方法,在接收到消息之后会调用此函数,用户可以在此方法中执行自己的处理逻辑
stream:没有边界的tuple(元组)序列
Nimbus:老板(我想要怎么样)(提交任务,分配集群任务,监控集群状态)
zookeeper:总管 (协调各个小领导)(接收nimbus分配给supervisor的任务,协调者,存放公有数据如心跳信息,集群状态和配置信息)
Supervisor:工作节点的分管(小领导)(接收任务,管理worker)
worker:真正干活的进程(劳苦大众)(运行具体处理逻辑的进程)
Nimbus和Supervisor之间的所有协调工作都是通过一个Zookeeper集群来完成。并且,nimbus进程和supervisor都是快速失败(fail-fast)和无状态的。所有的状态要么在Zookeeper里面, 要么在本地磁盘上。这也就意味着你可以用kill -9来杀死nimbus和supervisor进程, 然后再重启它们,它们可以继续工作, 就好像什么都没有发生过似的。这个设计使得storm不可思议的稳定。
每台supervisor运行若干worker进程
每个worker进程运行若干executor线程
每个executor线程运行这若干相同的task
- 单词计数:
- TopologyBuilder builder =newTopologyBuilder();
- builder.setSpout(1,newRandomSentenceSpout(),5);
- builder.setBolt(2,newSplitSentence(),8).shuffleGrouping(1);
- builder.setBolt(3,newWordCount(),12).fieldsGrouping(2,newFields("word"));
- spout提交任务:
- Config conf =newConfig();
- conf.setDebug(true);
- conf.setNumWorkers(2);
- LocalCluster cluster =newLocalCluster();
- cluster.submitTopology("test", conf, builder.createTopology());
- Utils.sleep(10000);
- cluster.killTopology("test");
- cluster.shutdown();
- storm初识印象
- storm初识
- storm 初识
- 初识storm
- Storm初识
- storm初识
- Storm与MRv1类比--Storm初步印象
- 初识STORM 快速入手
- 初识Apache Storm
- 印象
- 印象
- 初识大数据:Hadoop、Spark、Storm
- 二十六、storm安装与初识
- STORM
- storm
- Storm
- storm
- storm
- 驱动层注册表操作
- 通过Python调用OpenStack 的RESTful API
- ViewPager+Fragment取消预加载(延迟加载)
- 【R语言】apply函数族
- 解决异常Circular dependencies cannot exist in RelativeLayout
- storm初识印象
- 分部署云存储系统Ceph架构剖析
- weka连接mysql数据库
- C# Socket多线程编程(一)
- 用ViewPager布局,但是又不想预加载的问题
- Google 新推出Background sync API
- spring数据源的几种配置
- 某理财APP多开器的思路(二)
- 关于云计算的基础知识整理