在本地(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安装配置:
- 安装首先在本地电脑上安装Maven,从maven的官网下载http://maven.apache.org/。
- 到本地解压,然后使用配置的相应目录/apache-maven-3.0.3/conf/ 下的settings.xml文件,settings.xml文件包含有与系统环境相关的配置细节,例如代理配置,远程仓库,localRepository,服务器的认证信息等。其中比较重要的是localRepository本地存储仓库路径,<localRepository>yourlocalRepository Path</localRepository>。setting.xml详解见http://maven.apache.org/settings.html。
- 配置环境变量 如果在linux下,修改相应的/etc/profile文件,windows参考java环境变量的设置,配置MAVEN_HOME=yourpath\ apache-maven-3.0.3,添加apache-maven-3.0.3\bin到系统变量Path,配置JAVA_HOME=yourJDKPath,一定要确定系统变量的Path 中包含了JDK的bin目录,否则会报错!在windows环境下且无法编译通过!
- 验证Maven是否配置成功,cmd窗口中,执行mvn -v,可以看到显示安装的Maven版本信息。
下载storm-starter 编译,并导入eclipse 工程
- 下载strom starter的代码 git clone https://github.com/nathanmarz/storm-starter.git。
- 使用mvn -f m2-pom.xml package 进行编译。
- 复制 storm-starter目录下的m2_pom.xml 为pom.xml ,因为eclipse需要pom.xml。
- 使用mvn eclipse:eclipse编译成eclipse工程。
- 在Eclipse 中import 选择storm-starter 的路径,一般导入项目后,会需要设置相应的M2_查看工程是否无误,可能会需要配置M2_REPO变量,M2_REPO配置方法:工程上右键->Properties->Java Build Path->Libraries->AddVariable->Configure Variable->New,输入Name:M2_REPO , Path:localRepository路径->ok刷新工程,代码无误了,可以进行开发了。
- 编译无误后,现在本地跑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应用开发与调试
在本地(Eclipse)运行第一个strom-starter例子的更多相关文章
- 使用Eclipse运行第一个Go程序
Windows 10家庭中文版,go version go1.11 windows/amd64, Eclipse IDE for C/C++ Developers Photon Release (4. ...
- Jfinal本地eclipse+tomcat运行项目时候遇到错误Exception starting filter
今天想在本地eclipse上启动tomcat让项目在本地运行,但是老是报错类找不到异常. 也可能报其它错误,大概都是classNotFoundException. 九月 19, 2018 5:42:2 ...
- Java Learning 002 Eclipse软件 打开一个工程 和 运行这个工程
Java Eclipse软件 打开一个工程 和 运行这个工程 我在网上下载了一个 Java 工程源代码.使用Eclipse软件打开这个工程,打开方式有些特别: Step 1 . 点击: File -& ...
- Eclipse下载安装并运行第一个Hello world(详细)
Eclipse下载安装并运行第一个Hello world(详细) 1.下载安装和配置JDK JDK详细的安装教程参考:https://www.cnblogs.com/mxxbc/p/11845150. ...
- 关于eclipse运行TestNG出现: CreateProcess error=206, ÎļþÃû»ò)չÃû的解决办法
最近玩物流宝的一个项目,需要测试下3个系统打通的接口. 不测不要紧,一测吓一跳.我的乖乖:几百个bean被加进来.就凭我这肉机,内存不爆才怪. 于是换一套方案,用了另一个测试接口. 但是这个测试接口, ...
- spark在idea中本地如何运行?(处理问题NoSuchFieldException: SHUTDOWN_HOOK_PRIORITY)
spark在idea中本地如何运行? 前几天尝试使用idea在本地运行spark+scala的程序,出现了问题,http://www.cnblogs.com/yjf512/p/7662105.html ...
- Eclipse创建第一个Spring Boot项目
一.安装SpringBoot插件 安装过程需要联网下载插件,属于在线安装,请耐心等待安装完成,下载安装完成以后,需要重启Eclipse 二.创建Spring Boot项目 如下图所示new-other ...
- 搭建java开发环境、使用eclipse编写第一个java程序
搭建java开发环境.使用eclipse编写第一个java程序 一.Java 开发环境的搭建 1.首先安装java SDK(简称JDK). 点击可执行文件 jdk-6u24-windows-i586. ...
- LeadTools Android 入门教学——运行第一个Android Demo
LeadTools 有很多Windows平台下的Demo,非常全面,但是目前开发手机应用的趋势也越来越明显,LeadTools也给大家提供了10个Android的Demo,这篇文章将会教你如何运行第一 ...
随机推荐
- HDU 1203 I NEED A OFFER (01背包&&概率dp)
M - I NEED A OFFER! Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u ...
- ubuntu 12.04 server编译安装nginx
tar -xvf zlib-1.2.8.tar.gz cd zlib-1.2.8 ./config make make install above is for zlib(refers http:// ...
- jstack命令详解
jstack用于打印出给定的java进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项"-J-d64",Windows的jstack使 ...
- Python发布Django项目的pyc版脚本
import os import sys from py_compile import compile #print "argvs:",sys.argv if len(sys.ar ...
- java类的封装 继承 多态
1.猜数字小游戏 package cn.jiemoxiaodi_02; import java.util.Scanner; /** * 猜数字小游戏 * * @author huli * */ pub ...
- scrapy爬虫成长日记之创建工程-抽取数据-保存为json格式的数据
在安装完scrapy以后,相信大家都会跃跃欲试想定制一个自己的爬虫吧?我也不例外,下面详细记录一下定制一个scrapy工程都需要哪些步骤.如果你还没有安装好scrapy,又或者为scrapy的安装感到 ...
- kettle job通过javascript进行循环控制
任何一种编程语言都少不了循环,kettle中的job也一样.那么kettle中的job是怎么通过JavaScript来达到类似于编程语言中的for循环呢? var max = parent_job.g ...
- 在Android上使用fontAwesome
再也不用做那些讨厌的小图标了! 从网上找了些资料,总结下在android上使用fontAwesome的方法. 1.到官网上下载资源包,找到其中的字体文件fontawesome-webfont.ttf, ...
- iOS 保存CGRect,CGPoint到NSArray'的方法
由于CGRect和CGPoint等对象是Struct,即结构体,不是继承于NSObject的,所以需要先用NSValue的方法,把他们转化成NSValue对象,之后就可以存入NSArray了! @in ...
- iOS设备通知中心精品推荐消息删除
如要彻底解决这个问题可以通过手机连接PC端91助手—功能大全—文件管理,进入/Library/MobileSubstrate/DynamicLibraries 文件夹,把AppSafety开头的文件都 ...