您的当前位置:首页正文

Storm入门操作

来源:画鸵萌宠网


一、 项目创建

1、

建立mvn项目

#mvn archetype:generate -DgroupId=storm.blueprints -DartifactId=Chapter1 -DpackageName=storm.blueprints.chapter1.v1

2、 编辑配置文件pom.xml

3、 测试配置Maven是否正确

#mvn install

4、 回到项目根目录,创建Eclipse项目文件

#mvn eclipse:eclipse

5、 打开eclipse并将刚才创建的项目导入

6、 编写代码

7、 在项目根目录下启动集群

#mvn compile exec:java -Dexec.classpathscope=compile Dexec.mainClass=storm.blueprints.WordCountTopology

-

OR

直接在eclipse中运行程序,若报错“select a configuration to luanch”则 右键项目文件夹 – Properties – Run/Debug Settings – New – Main Class使用search功能找到**.**.Topology。

二、 pom.xml修改

修改后执行mvn eclipse:eclipse,回到eclipse刷新即可。

三、 打包

在项目文件目录下

mvn clean:clean

mvn assembly: assembly (因为在pom.xml文件中配置了assembly)

得到jar包,删除jar包中的default,传到服务器

把conf文件传到服务器

211 storm用户 执行命令:

#/home/storm/apache-storm-0.9.3/bin/storm

/home/storm/wuzailong/RealAnalysis-opf-jar-with-dependencies.jar stormRotate.topology.opfTopology

-local_mode

false

jar

-config_path

/home/storm/wuzailong/opfconf -generator_spout true

#/home/storm/apache-storm-0.9.3/bin/storm

/home/storm/wuzailong/cmss/cmssSa-alpha-jar-with-dependencies.jar stormRotate.topology.tomcatAudit

-local_mode

false

jar

-config_path

/home/storm/wuzailong/cmss/conf/ -generator_spout true

运行完成后再10.10.211:8080查看结果

四、 启动storm

# /home/storm/apache-storm-0.9.3/bin/storm nimbus &

# /home/storm/apache-storm-0.9.3/bin/storm ui &

五、 提交Topology到集群

使用Maven,在源代码文件夹下运行如下命令:

#mvn package

一旦生成了jar文件,就可以使用storm jar命令来提交Topology到集群。语法如下:

Storm jar allmycode.jar org.me.MyTopology arg1 arg2 arg3

为了停止或者杀死Storm,可以运行如下命令:

#storm kill Count-Word-Topology-With-Refresh-Cache

Topology的名字必须具有唯一性。

本地模式在进程中模拟了一个Storm集群,用于开发和测试Topology。在本地模式下运行Topology类似于在集群上运行Topology。只需使用LocalCluster类就可以创建一个进程内的集群,例如:

import backtype.storm.LocalCluster;

LocalCluster cluster = new LocalCluster();

然后,可以使用LocalCluster对象的submitTopology方法来提交Topology。就像在StormSubmitter中相应的方法一样,submitTopology方法需要一个名字、一个Topology配置和Topology对象。然后,你可以使用killTopology方法,将Topology名称作为参数,杀死一个Topology。

关闭一个本地集群,只需要简单地调用:

cluster.shutdown();

六、 异常

1、

使用mvn命令创建项目时报错

在Maven3使用Maven2的命令,archetype:create命令已经过期,需要使用 archetype:generate 来进行代替。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top