在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

Storm编程入门知识点有哪些

137次阅读
没有评论

共计 1931 个字符,预计需要花费 5 分钟才能阅读完成。

这篇文章主要讲解了“Storm 编程入门知识点有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“Storm 编程入门知识点有哪些”吧!

Storm 是什么?什么是流式计算

 Storm 是一个分布式实时计算框架,适应于流式计算。所谓流式计算,你可以把它想像成你家的电表,电在流过电表时,电表就要计算耗用量,电表对耗用量的计算就是典型的流式计算。

  下面介绍编程过程中需要用到的 Storm 的几个概念:

Topology
 Topology 似于 Hadoop 中的 MapReduce Job,是一个用来编排、容纳一组计算逻辑组件(Spout、Bolt)的对象(Hadoop MapReduce 中一个 Job 包含一组 Map Task、Reduce Task),这一组计算组件可以按照 DAG 图的方式编排起来(通过选择 Stream Groupings 来控制数据流分发流向),从而组合成一个计算逻辑更加强大的对象,那就是 Topology。一个 Topology 运行以后就不能停止,它会无限地运行下去,除非手动干预(显式执行 bin/storm kill)或意外故障(如停机、整个 Storm 集群挂掉)让它终止。

Spout
 Spout 是一个 Topology 消息源头,是一个可持续不断生产消息的组件,例如,它可以是一个 Socket Server 在监听外部 Client 连接并发送消息,可以是一个消息队列(MQ)的消费者、可以是用来接收 Flume Agent 的 Sink 所发送消息的服务,等等。Spout 生产的消息在 Storm 中被抽象为 Tuple,在整个 Topology 的多个计算组件之间都是根据需要抽象构建的 Tuple 消息来进行连接,从而形成流。

Bolt
 Storm 中消息的处理逻辑被封装到 Bolt 中,任何处理逻辑都可以在 Bolt 里面执行,处理过程和普通计算应用程序没什么区别,只是需要根据 Storm 的计算语义来合理设置一下组件之间消息流的声明、分发、连接即可。Bolt 可以接收来自一个或多个 Spout 的 Tuple 消息,也可以来自多个其它 Bolt 的 Tuple 消息,也可能是 Spout 和其它 Bolt 组合发送的 Tuple 消息。

Stream Grouping
 Storm 中用来定义各个计算组件(Spout、Bolt)之间流的连接、分组、分发关系。Storm 定义了如下 7 种分发策略:Shuffle Grouping(随机分组)、Fields Grouping(按字段分组)、All Grouping(广播分组)、Global Grouping(全局分组)、Non Grouping(不分组)、Direct Grouping(直接分组)、Local or Shuffle Grouping(本地 / 随机分组),各种策略的具体含义可以参考 Storm 官方文档、比较容易理解。

示例代码 storm-demo

  storm-demo 是一个包含完整的 storm topology 的代码示例,有详尽的注释。
源码见: https://git.oschina.net/HuQingmiao/storm-demo.git

怎么把 storm 程序跑起来

### 本地模式   在本地开发时,不需要部署 storm,直接在 eclipse 或 IntelliJ idea 下运行即可,便于调试。  也可以通过命令行执行:java -jar jar 文件名 main 入口类

### 生产模式   先将你的应用程序打成 jar 包,但 jar 包中不要含有 storm 及相关日志包,即将 storm 及相关日志包的 scope 设为 provided 即可:

  dependency 
  groupId org.apache.storm /groupId 
  artifactId storm-core /artifactId 
  version 0.9.5 /version 
  scope provided /scope 
  /dependency

  再把应用程序 jar 包上传到 storm 结点(Nimbus),然后在结点上执行指令:

 storm jar  你的应用程序.jar Main 入口类   参数 (topologId)
  或
 jstorm jar  你的应用程序.jar Main 入口类   参数 (topologId)

  若要在在生产模式下停止这个 topology,则执行以下命令即可:

 storm kill  参数 (topologId)
 jstorm kill  参数 (topologId)

感谢各位的阅读,以上就是“Storm 编程入门知识点有哪些”的内容了,经过本文的学习后,相信大家对 Storm 编程入门知识点有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-16发表,共计1931字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 中文字幕无码视频手机免费看 | 99精品国产自在现线观看 | 日本aⅴ在线 | 欧美香蕉在线 | 一道久在线无码加勒比 | 无码成人aaaaa毛片 | 日本一级特黄aa大片在 | 韩国特级一级毛片免费网站 | 四虎国产精品免费久久影院 | 欧美高清视频一区 | 亚洲男人第一无码av网站 | 国产欧美日韩精品综合 | 欧美奶涨边摸边做爰视频 | 成人午夜电影在线观看 | 思思久久好好热精品国产 | 亚洲精品福利一区二区 | 久久精品国产亚洲av麻豆不卡 | 亚洲午夜久久久精品电影院 | 91se在线看片国产免费观看 | 国产老妇伦国产熟女老妇视频 | 男人和女人做性视频免费看 | 成年超爽大片免费视频播放 | 久久亚洲精品中文字幕二区 | 性视频网站视频免费 | 欧美成人全部视频 | 日韩欧美群交p片內射中文 日韩欧美人妻一区二区三区 | 欧美日本韩国 | 操操综合网 | 久久精品国产av一区二区三区 | 99久久久无码国产精品免费 | 国产成人精品免费视频网页大全 | 亚洲影视在线 | 亚洲精品一区二区观看 | 97porm自拍视频区原创 | 成人在线免费 | 日韩精品另类天天更新影院 | 亚洲精品一区二区三区在线看 | 国产高清美女一级毛片久久 | 精品国产乱码久久久久乱码 | 国产成人精品久久一区二区三区 | 香蕉成人 |