当前位置:首页 > 开发 > 互联网 > 正文

在storm集群环境下发布Topology

发表于: 2015-07-01   作者:roadrunners   来源:转载   浏览:
摘要: storm的topology设计和开发就略过了。本章主要来说说如何在storm的集群环境中,通过storm的管理命令来发布和管理集群中的topology。   1、打包 打包插件是使用maven提供的maven-shade-plugin,详细见maven-shade-plugin。 <plugin> <groupId>org.apache.maven.

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集群环境下发布Topology

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
Apache storm 是一个由twitter开源的大数据处理系统,与其他系统不同的是,storm旨在用于分布式实时
概念 一个Topology可以包含一个或多个worker(并行的跑在不同的machine上), 所以worker process就是
Understanding the Parallelism of a Storm Topology Oct 16th, 2012 Table of Contents What is St
Storm系统的数据处理应用单元,是被打包的被称为Topology的作业。 它是由多个数据处理阶段组合而成
Understanding the Parallelism of a Storm Topology Oct 16th, 2012 Table of Contents What is St
In the past few days I have been test-driving Twitter’s Storm project, which is a distribute
2.1 Storm基本概念 在运行一个Storm任务之前,需要了解一些概念: Topologies Streams Spouts Bolts
在运行一个Storm任务之前,需要了解一些概念: Topologies Streams Spouts Bolts Stream groupings
2.1 Storm基本概念 在运行一个Storm任务之前,需要了解一些概念: Topologies Streams Spouts Bolts
2.1 Storm基本概念 在运行一个Storm任务之前,需要了解一些概念: Topologies Streams Spouts Bolts
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号