storm的topology设计和开发就略过了。本章主要来说说如何在storm的集群环境中,通过storm的管理命令来发布和管理集群中的topology。
1、打包
打包插件是使用maven提供的maven-shade-plugin,详细见maven-shade-plugin。
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-shade-plugin</artifactId> <version>2.4</version> <executions> <execution> <phase>package</phase> <goals> <goal>shade</goal> </goals> <configuration> <filters> <filter> <artifact>*:*</artifact> <excludes> <exclude>META-INF/*.SF</exclude> <exclude>META-INF/*.DSA</exclude> <exclude>META-INF/*.RSA</exclude> </excludes> </filter> </filters> <transformers> <!--下面的这个transformer完全是为了发布topology的时候不提供程序入口而配置的,意思就是打包成一个可执行的jar包,但通常我们不需要这样配置,因为一个jar包里通常都会有很多个topology--> <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"> <!--程序入口类,隐私部分用XXX表示--> <mainClass>com.XXX.storm.XXXTopology</mainClass> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/spring.handlers</resource> </transformer> <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer"> <resource>META-INF/spring.schemas</resource> </transformer> </transformers> </configuration> </execution> </executions> </plugin>
2、发布
首先把打好的jar包上传到storm集群的主结点(nimbus结点),然后使用storm命令进行topology发布。
没有配置storm命令环境变量,切换到storm的bin目录执行:
./storm jar /opt/libs/storm-0.0.1-SNAPSHOT.jar com.XXX.storm.XXXTopology [参数]
配置了storm命令环境变量,直接执行:
storm jar /opt/libs/storm-0.0.1-SNAPSHOT.jar com.XXX.storm.XXXTopology [参数]
注意:参数是可选的,通常会把Topology的名称和Num workers等,以参数的形式赋值。例如:storm jar /opt/libs/storm-0.0.1-SNAPSHOT.jar com.XXX.storm.XXXTopology TopologyName
3、检查
发布后,会提示INFO backtype.storm.StormSubmitter - Finished submitting topology: XXX-topology等信息表示topology发布成功,在storm ui界面的topology summary列表里面也能看到刚才我们提交的topology,到此表示topology成功发布了。
相关推荐
在Storm集群中,主要有两种类型的节点——主控节点(Master Node)和工作节点(Work Node)。 1. 主控节点(Master Node)运行Nimbus服务,类似于Hadoop中的JobTracker,负责集群的管理和任务调度。Nimbus会分发...
Storm作为开源的分布式实时计算系统在业界得到了广泛应用,针对Storm自带调度策略忽略了Topology组件任务间的逻辑耦合性,从而引起大量tuple传输产生较大网络时延问题,结合进程代数将Topology等效简化为具有明显...
在本压缩包“storm集群搭建Java客户端测试代码.zip”中,包含了有关Apache Storm集群的搭建教程以及使用Java客户端进行测试的代码示例。Apache Storm是一个分布式实时计算系统,它允许开发者处理无界数据流,常用于...
本资料包提供了一个基于Java的示例代码,将帮助我们了解如何在Java环境中配置和运行Storm集群。 首先,我们要理解Storm的基本概念。Storm由多个组件构成,包括Nimbus(主控节点)、Supervisor(工作节点)、Worker...
2. `storm-server`: 提供了Storm集群的服务器端组件,包括nimbus、supervisor等节点。 3. `jedis`: 这是Redis客户端,可能被用作Storm中的状态存储或缓存。 确保`pom.xml`配置正确后,接下来是编写Storm topology。...
Zookeeper是一个分布式协调服务,用于管理Storm集群的元数据。Nimbus是Storm集群的主节点,负责任务分配和监控。Supervisor则是工作节点,每个节点上都运行一个Supervisor实例,管理worker进程。UI则提供了可视化...
提交topology到Storm集群主要包括以下几个步骤: 1. **构建topology**:首先,开发者需要定义topology结构,包括创建spouts和bolts,以及它们之间的连接关系。这通常通过编写Java或Clojure代码来实现,使用Storm的...
此外,还需要搭建Zookeeper集群来协调Storm集群的工作。 除了书籍《Getting Started with Storm》之外,还有一些社区和网站提供了Storm的使用文档和教程,这些都是学习Storm技术的宝贵资源。在实践中,开发者应重视...
第2章详细讲解storm 集群环境的安装和搭建,以及如何将topology部署 到分布式环境中;第3章通过传感器数据实例详细 介绍Trident topology;第4章讲解如何使用Storm 和Tridentj挂行实时趋势分析;第5章介绍如何使用 ...
这个实例可能是为了演示如何在Storm集群上部署和运行一个简单的数据处理任务。 描述中提到,“命令在里面cmd.txt”,这意味着cmd.txt文件包含了运行该实例所需的命令。用户需要根据自己的环境修改words111.txt的...
在构建Storm集群时,我们需要至少三台服务器来搭建ZooKeeper集群,一台服务器作为Nimbus节点,以及多台服务器作为Supervisor节点。以下是服务器的分布和角色: 1. **storm_zk1** (192.168.1.100):ZooKeeper Leader...
在Storm中,创建Topology后需要提交到Storm集群进行运行。在"weekend-storm"项目中,Topology的配置将决定数据如何被处理和分析。 在实际开发中,我们还需要了解以下几点: 1. **容错机制**:Storm保证即使在节点...
STORM的TOPOLOGY在线上运行时,随着数据量的增加,在一定的服务器性能及集群规模下,会渐渐达到一个极限,到达极限后,服务器的load、io、cpu、mem等可能会出现耗尽,系统很卡,storm吞吐量骤降的情况。本文档中截图...
由于提供的信息中并没有实际的电子书内容,而仅仅是重复的广告信息和联系QQ,这导致无法生成具体的知识点。...通过掌握以上知识点,可以让Storm集群在各种企业环境中高效稳定地运行,同时快速响应各种业务需求的变化。
5. **本地集群搭建**:在本地机器上,你可以使用`storm local`命令快速启动一个本地模式的Storm集群,以便于调试。首先,确保已下载并安装了Storm,然后在Storm的bin目录下运行: ``` storm local ``` 这将在...
在Storm集群中,主要有Nimbus、Supervisor、ZooKeeper以及Worker四种进程。Nimbus负责处理thrift接口和ZooKeeper接口上的消息与事件。文章分析了Nimbus启动时对这两个接口所做的初始化工作。Nimbus的启动入口函数...
4. **supervisor.jar**:Supervisors是Storm集群的工作节点,它们在本地启动并管理执行任务的worker进程。 5. **storm-ui.jar**:用户界面(UI)服务器,提供了监控和管理Storm集群的Web界面。 6. **lib目录**:包含...