Storm系列(三)Topology提交过程】的更多相关文章

提交示例代码: 1  ); // 设置一个ack线程 9      conf.setDebug(true); // 设置打印所有发送的消息及系统消息 10      StormSubmitter.submitTopology("test", conf, builder.createTopology()); 11  }   1.构建 TopologyBuilder 对象 builder,主要用于对各个组件(bolt.spout)进行配置,TopologyBuilder主要属性字段定义如下…
功能:提交一个新的Topology,并为Topology创建storm-id(topology-id),校验其结构,设置必要的元数据,最后为Topology分配任务. 实现源码: 1  ); Config conf = new Config(); 4  // 8对应 TOPOLOGY-MAX-TASK-PARALLELISM配置项的值 5  Conf.setMaxTaskParallelism(8);   system-topology! 功能: 验证用户提交的Topology,同时为提交的to…
Storm系列三: Storm消息可靠性保障 在上一篇 Storm系列二: Storm拓扑设计 中我们已经设计了一个稍微复杂一点的拓扑. 而本篇就是在上一篇的基础上再做出一定的调整. 在这里先大概提一下上一篇的业务逻辑, 我们会不断收到来自前端的消息,消息包含消息的发送时间,消息内容,结束标识, 消息的发送者, SessionId等其他信息, 我们需要做的事情是当接收到消息之后,根据SessionId判断是否属于同一消息, 如果是的话将内容拼接, 如果结束标识为 true, 表示会话已结束,则存…
storm集群上运行的是一个个topology,一个topology是spouts和bolts组成的图.当我们开发完topology程序后将其打成jar包,然后在shell中执行storm jar xxxxxx.jar xxxxxxxClass就可以将jar包上传到storm集群的nimbus上,并执行topology.本文主要分析下topology的jar包是如何上传到nimbus上的.首先我们从storm的jar命令入手,jar命令的实现位于storm根目录的bin/storm文件里.定义如…
在上一篇博客中,我们通过Storm.Net.Adapter创建了一个使用Csharp编写的Storm Topology - wordcount.本文将介绍如何编写Java端的程序以及如何发布到测试的Storm环境中运行. 如果你觉得对你有帮助,欢迎Star和Fork,让更多人看到来帮助完善这个项目. STEP1: 克隆storm官方示例项目 storm-starter: $ git clone git://github.com/apache/storm.git && cd storm/ex…
Storm 系列(二)Storm 集群部署和配置 本章中主要介绍了 Storm 的部署过程以及相关的配置信息.通过本章内容,帮助读者从零开始搭建一个 Storm 集群. 一.Storm 的依赖组件 1.1 要部署 Storm,需要要部署以下几个相关组件. JDK :从 Oracle 官网下载,设置环境变量(JAVA_HOME.PATH 和 CLASSPATH). Zookeeper :安装详见(http://www.cnblogs.com/binarylei/p/8721129.html),St…
一.简介 在将 Storm Topology 提交到服务器集群运行时,需要先将项目进行打包.本文主要对比分析各种打包方式,并将打包过程中需要注意的事项进行说明.主要打包方式有以下三种: 第一种:不加任何插件,直接使用 mvn package 打包: 第二种:使用 maven-assembly-plugin 插件进行打包: 第三种:使用 maven-shade-plugin 进行打包. 以下分别进行详细的说明. 二.mvn package 2.1 mvn package的局限 不在 POM 中配置…
一,目的 在学习的过程中,需要用到 PDI---一个开源的ETL软件.主要是用它来设计一些转换流程来处理数据.但是,在PDI中设计好的 transformation 是在本地的执行引擎中执行的,(参考源码中的 Trans.java ),现可以对DI加以改造:在DI中设计的转换,将之转换成Storm的Topology,然后再把该Topology提交到Storm集群中执行.这样,既可以利用DI强大的设计能力(因为在DI中可以设计各种各样的转换流程,这些用DI设计出来的 transformation流…
不多说,直接上干货!   Hadoop 上运行的是 MapReduce 作业,而在 Storm 上运行的是拓扑 Topology,这两者之间是非常不同的.一个关键的区别是:一个MapReduce 作业最终会结束,而一个 Topology 拓扑会永远运行(除非手动杀掉). Topology拓扑 从字面上解释Topology,就是网络拓扑,是指用传输介质互连各种设备的物理布局,是构成网络的成员间特定的物理的(即真实的),或者逻辑的,即虚拟的排列方式.拓扑是一种不考虑物体的大小.形状等物理属性,而只使…
storm的topology启动过程是执行strom jar topology1.jar MAINCLASS ARG1 ARG2 鉴于前面已经分析了脚本的解析过程,现在重点分析topology1.jar的执行. 以storm-starter中的ExclamationTopology为例,来进行剖析: public class ExclamationTopology { public static class ExclamationBolt extends BaseRichBolt { Outpu…