在本地(Eclipse)运行第一个strom-starter例子

一、在Eclipse中建立storm项目:

具体步骤如下:

1、在Eclipse中新建java project项目并导入jar包:

    File-> New -> Java Project ->随便取个名字-> Next -> Libraries -> add External JARs...-> 追加twitter4j和storm的jar文件(/path/to/twitter4j/lib/*.jar和/path/to/storm/lib/*.jar和/path/to/storm/storm-{version}.jar)-> Finsh

2、追加源文件storm-start/src/jvm/storm:    

  导入example中的storm-start:

    File -> Import -> General -> File System -> Next -> Browse(From directory) -> /path/to/storm-start/src/jvm/storm -> Browse(Info floder)  -> xxx -> src -> OK -> 选择“storm” 和 “Create top-level folder” -> Finish
  完成之后如图所示:

3、 追加源文件storm-start/multilang/resources(python 文件word count用)
    File -> Import -> General -> File System -> Next -> Browse(From directory) -> /path/to/storm-start/multilang/resources -> Browse(Info floder)  -> xxx -> OK -> 选择 “resources” and “Create top-level folder” -> Finish

  以上jar包和2个源文件都追加好之后,eclipse左边显示如下图:

4、 导出 JAR export
    File -> Export -> JAR -> JAR file -> 取消 “.classpath” ,“.project” 和 “<.settings” ->的勾 browse -> path/to/export/name.jar -> Finish (忽视 warnings);可能会报错说PrintSampleStream和TwitterSampleSpout这两个类找不到,将这两个类的注释取消掉即可。

5、执行刚才编译的文件:

   在终端执行以下命令提交拓扑:

  # storm jar StormStarter.jar storm.starter.ExclamationTopology  Test1

如果出现类似下面的文字,说明运行成功!
....
11367 [Thread-25] INFO  backtype.storm.daemon.task  - Emitting: class storm.starter.ExclamationTopology$ExclamationBolt source: 2:3, stream: 1, id: {}, [golda!!!]
....

参考链接twitter storm安装和storm-start的本地运行



二、使用Maven管理storm项目:

Maven安装配置:

  1. 安装首先在本地电脑上安装Maven,从maven的官网下载http://maven.apache.org/
  2. 到本地解压,然后使用配置的相应目录/apache-maven-3.0.3/conf/ 下的settings.xml文件,settings.xml文件包含有与系统环境相关的配置细节,例如代理配置,远程仓库,localRepository,服务器的认证信息等。其中比较重要的是localRepository本地存储仓库路径,<localRepository>yourlocalRepository Path</localRepository>。setting.xml详解见http://maven.apache.org/settings.html
  3. 配置环境变量 如果在linux下,修改相应的/etc/profile文件,windows参考java环境变量的设置,配置MAVEN_HOME=yourpath apache-maven-3.0.3,添加apache-maven-3.0.3in到系统变量Path,配置JAVA_HOME=yourJDKPath,一定要确定系统变量的Path 中包含了JDK的bin目录,否则会报错!在windows环境下且无法编译通过!
  4. 验证Maven是否配置成功,cmd窗口中,执行mvn -v,可以看到显示安装的Maven版本信息。

下载storm-starter 编译,并导入eclipse 工程

  1. 下载strom starter的代码 git clone https://github.com/nathanmarz/storm-starter.git
  2. 使用mvn -f m2-pom.xml package 进行编译。
  3. 复制 storm-starter目录下的m2_pom.xml 为pom.xml ,因为eclipse需要pom.xml。
  4. 使用mvn eclipse:eclipse编译成eclipse工程。
  5. 在Eclipse 中import 选择storm-starter 的路径,一般导入项目后,会需要设置相应的M2_查看工程是否无误,可能会需要配置M2_REPO变量,M2_REPO配置方法:工程上右键->Properties->Java Build Path->Libraries->AddVariable->Configure Variable->New,输入Name:M2_REPO , Path:localRepository路径->ok刷新工程,代码无误了,可以进行开发了。
  6. 编译无误后,现在本地跑storm.starter目录下的WordCountTopology,看到如下的截屏,代表本地的local模式可以跑通过,使用eclipse的export功能导出项目的jar包,便于以后分布式的情况下,提交相应的逻辑。

推荐参考链接:

storm官网文档:https://github.com/apache/storm/tree/master/examples/storm-starter#maven

storm集群搭建:http://blog.csdn.net/guoqiangma/article/details/7212677

Windows下基于eclipse的Spark应用开发环境搭建

Windows下基于eclipse的Storm应用开发与调试

原文地址:https://www.cnblogs.com/xymqx/p/4371071.html