- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Storm入门介绍汇编
Storm介绍周龙鹏一、数据处理过程Storm的术语解释Storm的术语包括Stream、Spout、Bolt、Task、Worker、Stream Grouping和Topology。Stream是被处理的数据。Spout是数据源。Bolt处理数据。Task是运行于Spout或Bolt中的线程。Worker是运行这些线程的进程。Stream Grouping规定了Bolt接收什么东西作为输入数据。数据可以随机分配(术语为Shuffle),或者根据字段值分配(术语为Fields),或者广播(术语为All),或者总是发给一个Task(术语为Global),也可以不关心该数据(术语为None),或者由自定义逻辑来决定(术语为 Direct)。Topology是由Stream Grouping连接起来的Spout和Bolt节点网络。在Storm Concepts页面里对这些术语有更详细的描述。(1)Topologies 用于封装一个实时计算应用程序的逻辑,类似于Hadoop的MapReduce Job(2)Stream 消息流,是一个没有边界的tuple序列,这些tuples会被以一种分布式的方式并行地创建和处理(3)Spouts 消息源,是消息生产者,他会从一个外部源读取数据并向topology里面面发出消息:tuple(4)Bolts 消息处理者,所有的消息处理逻辑被封装在bolts里面,处理输入的数据流并产生输出的新数据流,可执行过滤,聚合,查询数据库等操作(5)Task 每一个Spout和Bolt会被当作很多task在整个集群里面执行,每一个task对应到一个线程.二、storm集群的组件(topologies)Storm集群非常类似Hadoop集群。Hadoop上运行的是MapReduce jobs,而Storm运行的是topologies。Jobs和topologies本身是不同的,其中一个最大的不同就是,Mapreduce job最终会结束,而topology则会持续的处理消息(直到你杀掉它)。Storm集群有2种节点:master(主节点)和worker(工作节点)。master节点运行一个守护进程,叫Nimbus,类似Hadoop中的JobTracker。Nimbus负责在集群中分发代码,分配任务,以及故障检测。每个worker节点运行一个守护进程,叫Supervisor。Supervisor监听分配到该服务器的任务,开始和结束工作进程。每个worker进程执行topology的一个子集;一个运行中的topology由许多分布在多台机器上的worker进程组成。Nimbus和Supervisors之间是通过Zookeeper协调。此外,Nimbus和Supervisor是能快速失败(fail-fast)和无状态的(stateless);所有的状态都保存在Zookeeper或者在本地磁盘中。这意味这你可以kill –9杀掉Nimbus或者Supervisors,随后它们会自动恢复好像什么也没发生过。这项设计使得Storm集群变得非常稳定健壮。三、Topologies在Storm中进行实时计算,你可以创建所谓的topologies。一个topology是一个计算图(a graph of computation)。topology的每个节点包括处理逻辑,节点之间数据如何传输的连接。运行一个topology非常简单。将代码和相关依赖打包成一个简单jar包,运行如下命令:storm jar all-my-code.jar backtype.storm.MyTopology arg1 arg2将执行这个类:backtype.storm.MyTopology,参数arg1和arg2。这个类的最主要功能定义了topology,并将其提交给Nimbus。storm jar 部分负责连接Nimbus和上传jar。因为topology定义是Thrift结构,Nimbus是一个Thrift service,所以你可以使用任何编程语言创建和提交topologies。上面的例子是最简单的方式,使用JVM-based的语言。四、StreamsStorm中最核心的抽象就是stream。stream是一个无边界的tuples序列。Storm提供了基本流转换的分布式的可靠的方法。例如,你可以将tweets流转换成一个trending topics流。基本的原始Storm提供了spouts和bolts的流转换。Spouts和bolts提供了接口,实现你的应用逻辑。spout是流源头。例如,一个spout可以是从Kestrel队列中读取tuples并以流形式发射(emit)出。或者一个spout可以连接Twitter API,发出一个tweets流。一个
您可能关注的文档
最近下载
- Q/GDW 13239.1—2018 35kV电力电缆采购标准(第1部分:通用技术规范).pdf VIP
- 水电解质酸碱代谢失衡病人的护理失衡.ppt VIP
- Q∕GDW 13247.2-2018 35kV电力电缆附件采购标准 第二部分:专用技术规范(高清-可复制).pdf VIP
- 2024届高考英语一轮总复习选择性必修第二册Unit3FoodandCulture教师用书.doc VIP
- 医学检验生物安全培训课件.pptx VIP
- 高三化学教学反思15篇.pdf VIP
- 河南成人2024学位英语考试真题及答案.docx VIP
- 中药新药临床研究.pptx VIP
- 2024届高考英语一轮总复习选择性必修第二册Unit1ScienceandScientists教师用书.doc VIP
- 农田喷灌工程施工方案(3篇).docx VIP
文档评论(0)