Storm运行模式:
- 本地模式(Local Mode): 即Topology(相当于一个任务,后续会详细讲解) 运行在本地机器的单一JVM上,这个模式主要用来开发、调试。
- 远程模式(Remote Mode):在这个模式,我们把我们的Topology提交到集群,在这个模式中,Storm的所有组件都是线程安全的,因为它们都会运行在不同的Jvm或物理机器上,这个模式就是正式的生产模式。
本地模式:
LocalCluster cluster = new LocalCluster(); cluster.submitTopology("Getting-Started-Toplogie", conf, builder.createTopology()); Thread.sleep(1000); cluster.shutdown();
远程模式:
StormSubmitter.submitTopology("Count-Word-Topology-With-Refresh-Cache", conf, builder.createTopology());
执行命令:
storm jar storm.jar storm.starter.WordCountTopology WordCount -c nimbus.host=localhost
如果job中需要引用三方jar:
1.将第三方jar放到storm lib 目录
2.通过maven打包,将第三方jar解压打包到一个jar中。 (不解压不行)
pom
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.cyyun</groupId> <artifactId>stormtest</artifactId> <version>0.0.1-SNAPSHOT</version> <profiles> <profile> <id>test</id> <properties> <package.finalName>stormtest</package.finalName> </properties> <activation> <activeByDefault>true</activeByDefault> </activation> </profile> </profiles> <repositories> <!-- Repository where we can found the storm dependencies --> <repository> <id>clojars.org</id> <url>http://clojars.org/repo</url> </repository> </repositories> <dependencies> <!-- <dependency> <groupId>org.apache.storm</groupId> <artifactId>storm-core</artifactId> <version>0.9.1-incubating</version> </dependency> --> <!--md5--> <dependency> <groupId>fast-md5</groupId> <artifactId>fast-md5</artifactId> <version>2.5</version> </dependency> </dependencies> <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <version>2.4</version> <configuration> <appendAssemblyId>false</appendAssemblyId> <finalName>${package.finalName}</finalName> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> <archive> <manifest> <mainClass>${package.mainClass}</mainClass> </manifest> </archive> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>assembly</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>2.3.2</version> <configuration> <encoding>UTF-8</encoding> <compilerArguments> <verbose /> <bootclasspath>${java.home}/lib/rt.jar;${java.home}/lib/jce.jar</bootclasspath> </compilerArguments> </configuration> </plugin> </plugins> <resources> <resource> <directory>${project.basedir}/src/main/resources</directory> <filtering>true</filtering> <excludes> <exclude>com/**/*.*</exclude> </excludes> </resource> <resource> <directory>${project.basedir}/src/main/resources</directory> <filtering>false</filtering> <includes> <include>com/**/*.*</include> </includes> </resource> </resources> </build> </project>
相关推荐
【Storm集群搭建】是关于构建分布式实时计算系统Storm的集群过程。Storm是一个开源的、用于处理实时数据流的计算框架,常被用于大数据处理、实时分析等场景。在Storm集群中,主要有两种类型的节点——主控节点...
思路:Storm集群从Kafkatopic主题获取数据,解析后写入MySQL,注意我们使用MyBatis工具与数据库交互 项目结构 部署MySQL 我们在服务器上部署一台MySQL数据库 具体参考这篇文章 数据库表结构如下: ...
在本压缩包“storm集群搭建Java客户端测试代码.zip”中,包含了有关Apache Storm集群的搭建教程以及使用Java客户端进行测试的代码示例。Apache Storm是一个分布式实时计算系统,它允许开发者处理无界数据流,常用于...
标题“基于Storm与Kafka集群的火电厂分布式流式数据建模与分析系统”指向了两个主要的技术组件:Apache Storm和Apache Kafka,以及它们在火电厂数据处理方面的应用。Apache Storm是一个分布式的、实时的计算系统,...
【Storm WebService 测试工具】是一个专为基于Storm框架构建的Web服务设计的测试解决方案。在深入了解这个工具之前,我们先来了解一下基础概念。 Storm是一个开源的分布式实时计算系统,它能够处理大量的数据流,...
1. `storm-client`: 这是Storm的核心客户端库,包含用于编写和提交topology的API。 2. `storm-server`: 提供了Storm集群的服务器端组件,包括nimbus、supervisor等节点。 3. `jedis`: 这是Redis客户端,可能被用作...
Storm集群环境搭建 Storm集群环境搭建是指在多台服务器上安装和配置Storm集群,实现高可用和负载均衡。Storm是一个分布式实时计算系统,能够对大量数据进行实时处理和分析。本文将详细介绍Storm集群环境搭建的步骤...
Storm集群的部署和配置是构建实时大数据处理系统的关键步骤,本文将详细讲解这一过程。Storm是一个分布式实时计算系统,能够处理大规模数据流,确保每个事件都得到正确的处理。以下是搭建Storm集群的详细步骤: 1. ...
storm单本安装及集群安装配置,详情见文档,另需要注意storm.yaml的配置。
8. **提交拓扑**:编写Storm拓扑代码,打包成JAR文件,然后使用`storm jar`命令提交到集群。例如,`storm jar my_topology.jar com.example.MyTopology`。 9. **监控和管理**:通过Storm UI监控拓扑运行情况,如有...
Storm集群安装部署步骤,一步一步记录了作者亲自实践部署的过程,包括遇到的错误解决办法
storm集群安装与运维.doc
### Storma集群安装手册知识点详解 #### 一、概述 本文档主要介绍如何在多台服务器上部署一个完整的Storm集群,其中包括JDK安装、Zookeeper集群安装以及Storm集群的搭建。整个过程分为三个主要部分:Java环境(JDK)...
【Storm WebService 调用测试器】是一个高效便捷的工具,专为简化Web服务测试流程而设计。在开发和维护基于SOAP或RESTful的Web服务时,通常需要频繁地进行调用测试,以确保接口功能正常且返回数据正确。传统方式往往...
### Storm集群部署知识点 #### 一、Storm集群简介 Apache Storm 是一款开源的分布式实时计算系统,它提供了简单而强大的API来处理无限的数据流。Storm的设计使其能够支持各种类型的流处理应用,包括实时分析、在线...
今天来实现一个Storm数据流处理综合案例的第一部分,Storm集群向Kafka集群源源不断写入数据,并部署为远程模式 准备工作 搭建三台Kafka集群服务器 参考文档:Linux部署Kafka集群 搭建三台Storm集群服务器 参考...
这个压缩包中的“storm集群的搭建-java示例代码”应该包含了创建和提交Java Storm拓扑的完整代码。通过研究和运行这些示例,我们可以学习如何在Java中定义Spout和Bolt,以及如何构建和提交拓扑。这将有助于我们快速...
10. **最佳实践**:基于测试结果,提供优化系统性能的最佳实践和指导,帮助用户在实际部署中提升Storm集群的性能。 总的来说,这个文档将为我们提供一个全面的视角来理解和优化Apache Storm的性能,对于那些希望在...
6. **提交拓扑**:当你的Spout和Bolt完成编写并测试后,你可以通过`storm jar`命令提交到本地集群运行: ``` storm jar target/stormcalllog-1.0-SNAPSHOT.jar com.yourcompany.StormCalllogTopology ``` 这里的...