Twitter Storm 使用maven构建storm项目

2019-03-02 23:38|来源: 网路

Maven
要开发拓扑,你需要在classpath环境变量设置storm的相关jar文件路径。你也应把未打包的jar文件放到你项目的classpath,或使用maven来管理storm相关的开发依赖包。Storm托管在Clojars(一个maven仓库)。为了在项目中包含storm相关的开发依赖包,在pom.xml文件中添加如下代码:
         
 
 
  1. <repository> 
  2.   <id>clojars.org</id> 
  3.   <url>http://clojars.org/repo</url> 
  4. </repository> 

         
 
 
  1. <dependency> 
  2.   <groupId>storm</groupId> 
  3.   <artifactId>storm</artifactId> 
  4.   <version>0.6.0</version> 
  5.   <scope>test</scope> 
  6. </dependency> 
这有一个storm项目pom.xml文件的 例子
如果你没使用maven,检出 leiningen。Leiningen是一个构建Coljure项目的构建工具,但它也能用于纯java项目。Leiningen的构建和依赖管理和maven一样简单。这有一个例子为纯java的storm项目准备的project.clj文件:
          
  
  
  1. (defproject storm-starter "0.0.1-SNAPSHOT" 
  2.   :java-source-path "src/jvm" 
  3.   :javac-options {:debug "true" :fork "true"} 
  4.   :jvm-opts ["-Djava.library.path=/usr/local/lib:/opt/local/lib:/usr/lib"] 
  5.   :dependencies [] 
  6.   :dev-dependencies [ 
  7.                      [storm "0.6.0"] 
  8.                      ]) 

可以使用lein deps命令获取依赖,使用lein compile命令构建项目,使用lein ubejar命令打包,生成用于提交到strom集群的jar文件。

 
 

转自:http://chenlx.blog.51cto.com/4096635/748701

相关问答

更多
  • bg4.png storm的,这方面不多,有资料可以参考 Storm入门指南 基于Storm进行实时网络攻击检测及数据挖掘文档下载 hadoop、storm、数据挖掘等文档分享 storm实时流计算应用开发框架-天罡从需求到技术方案介绍 hadoop、hive、storm文档、电子书籍分享 storm编程入门:基本概念 hadoop、storm、hbase面试题、工作日常问答 Storm相关20文档与相关包 Storm入门教程汇总
  • Hi: 下列还有三个短语相同意思: cook up a storm烹饪上露一手 dance up a storm舞姿翩翩 talk up a storm 侃侃而谈 [MAINLY US INFORMAL:主要用于美国,非正式用语] to do something with a lot of energy and often skill:[以非凡的能力和技能做某事] Rob was in the kitchen cooking up a storm. Rob在厨房里大显身手. (from Cambridge ...
  • 当下雨的时候,风暴都到了
  • Storm是什么文件[2023-06-19]

    Storm译为汉语即‘暴风雨’、“暴风雪”,是暴风影音软件的英文名,是一种媒体播放器。   Storm还是一个分布式的、容错的实时计算系统,由BackType开发,广泛用于进行实时日志处理,实时统计、实时风控、实时推荐等场景中,目前最新版本是Storm 0.8.0。   Storm还是外文歌曲的名字,具体可在百度音乐中搜索。
  • 回答你的问题有点难,因为Zookeeper,Maven和Nginx都做了很多不同的事情,但我会尽我所能。 Zookeeper是运行Storm的一部分。 它会跟踪通过Storm拓扑运行的当前事务。 Maven是JVM生态系统中常见的构建管理工具。 你需要这个来构建东西。 在某些情况下,Nginx可能会使用Storm拓扑,但对于所有用例来说肯定不是必需的或共同的。 因此,您可能需要项目中的所有三个,您肯定需要Zookeeper,并且几乎肯定会以某种方式与Maven交互,即使您在其他地方使用Ant或Leineng ...
  • 免责声明:我写了您在上述问题中引用的文章 。 但是,我对“任务”的概念有些困惑。 任务是组件的运行实例(spout还是螺栓)? 执行者有多个任务实际上是说执行者多次执行相同的组件,我是否正确? 是的,是的。 此外,在一般的并行性意义上,Storm将为一个喷口或螺栓生成一个专用的线程(执行器),但是由具有多个任务的执行器(线程)对并行性的贡献是什么? 每个执行器运行多个任务不会增加并行级别 - 执行程序总是有一个线程用于其所有任务,这意味着任务在执行程序上连续运行。 正如我在文章中写道,请注意: 在拓扑开始后 ...
  • 目前我没有办法得到git并编译jar文件并使用maven install在我的maven repo中安装它们:在我的eclipse中安装文件目标,这对我有用。 Currently there is no way i got the git and compiled the jar files and installed them in my maven repo using maven install:install-file goal in my eclipse and this worked for m ...
  • 您的问题的根本原因是您正在向您的风暴配置添加ProducerTemplate,并且它正在抛出异常,因为它不可序列化。 如果那是你自己的类,你可以改变代码使其工作,但由于这是一个Camel类,我会推荐一种不同的方法。 WebSocketBolt:将您的producerTemplate私有成员更改为transient: private transient ProducerTemplate producerTemplate; 这样就不会尝试序列化(将其置于conf中也会遇到同样的问题)。 WebSocketBol ...
  • 我最终通过使用maven repo中预编译的storm-kafka版本并在拓扑中添加过滤器螺栓而不是在spout本身中进行过滤来解决这个问题。 从而消除了对storm-core和storm-kafka本地编译的jar文件的需求。 这不是一个“解决方案”,但它是解决问题的一种方法。 I eventually worked around this problem by using a pre-compiled version of storm-kafka from a maven repo and adding ...
  • 我从来没有听说过DSMS一词,但是看一下维基百科上的描述,我认为Storm绝对可以说是DSMS。 来自维基百科: 它类似于数据库管理系统(DBMS)[...]但是,与DBMS相比,DSMS执行连续查询,该查询不仅执行一次,而且是永久安装的。 这听起来就像Storm一样。 但请注意,在Storm的情况下,它通常与DBMS结合使用。 例如,Storm可以提供One-time queries , unlimited secondary storage等,维基百科说这与DSMS结合时缺乏DSMS。 I had ne ...