05第五阶段大数据技术-02、storm入门到精通storm3.pdfVIP

  • 2
  • 0
  • 约8.12千字
  • 约 27页
  • 2023-09-27 发布于江苏
  • 举报

05第五阶段大数据技术-02、storm入门到精通storm3.pdf

Storm深入学习 Storm深入学习 • Storm 数据模型(topology) • Storm ack和fail • Storm 批处理 • Storm TO N • Storm 流程聚合 • Storm DR C • Storm executor、worker、task之间的关系和调 优 • Storm异常解决 Storm深入学习 • Storm 数据模型(topology) 为了在storm做实时计算,必 创建topology。topology是计算图。 topology中的每个节点包含一个处理逻辑,节点之间的链接表明了数 据如何在节点之间被传输。 运行topology非常直接了当:首先将你的代码和依赖打包为一个 jar,接着运行以下命令即可: 此命令运行类backtype.storm.MyTopology,参数为arg1和arg2。此 类的主要功能定义了topology,并且提交到Nimbus。storm jar负责链 接Nimbus上传jar。 因为topology定义是thrift结构,Nimbus是thrift服务,你可以使用 任何语言创建,提交topology。 Storm深入学习 • Storm数据模型(topology) stream: storm的核心是stream。stream是无 界的tuple序列。storm以分布、 可靠的方式为转换一个stream到新的stream提供了基本组件。 storm为stream的转换提供的基本组件是spouts和bolts。spouts和bolt 是你必须实现的接口,运行程序特定逻辑。 spout是stream的源,例如spout会读取kestrel队列的tuples,且作为 一个stream发出。或spout会链接到twitterapi,作为tweetstream发送。 bolt消费多个inputstream,做一些处理,且可能发送新的stream。 复杂的stream转换,如从tweetstream计算trendingtopics,需要多个 步骤和多个bolts。bolts通过运行函数,过滤tuple,聚集,链接,与 database交互可以实现任何操作。 Storm深入学习 • Storm数据模型(topology) spouts和bolts的网络被包装成 个topology,这是提交给storm集群来 执行的最顶层的抽象。 个topology是stream转换 (每个节点是spout或 bolt)的图。图中的边表示bolt订阅了哪些stream。当spout或bolt输出 tuple到 个stream,它发送tuple到每个订阅此stream的bolt。 Storm深入学习 • Storm数据模型(topology) topology中nodes之间的链接表 tuple如何传递。例如spoutA-Bolt B,spoutA-BoltC,BoltB-BoltC,spoutA发送的tuple会发送到BoltB和C, 所有的BoltB的输出也会流向BoltC。 stormtopolgy中的每个节点的计算都是并行的。可以指定每个node 的并行度,此时storm会在集群中产生指定并行度大小个线程来执行。 topology永不休止的运行,直到kill它。storm会自动重新分配失败的 task。另外storm会保证没有数据丢失,即使机器停止,消息落下(遗 失)。 Storm深入学习 • Storm数据模型(topology) • ((DDaattaammooddeell))数数据据模模型型 storm使用tuple作为它 数据模型。tuple是一命名 值 列表, tuple中 field可以是任何类型 对象。storm支持所有基本类型, string,字节数组。为了使用其他类型 对象,仅需要实现serializer接 口。 在to

文档评论(0)

1亿VIP精品文档

相关文档