我已经设置了一个单节点集群,并尝试将我的示例拓扑部署到它。
我相信将我的拓扑部署到集群我必须将包含所有依赖关系的jar提交给集群。
为此,我创建了一个示例项目,并为其添加了一个简单的拓扑。
使用gradle生成胖罐时我看到了这个错误
gradle fatjar给出以下错误
Could not expand ZIP '/Users/agarg/.gradle/caches/modules-2/files-
2.1/org.apache.storm/storm-
core/0.9.5/d2bf27db853347dcf66990b4514db20a7897303e/storm-core-0.9.5.jar'.
Could not copy zip entry /Users/agarg/.gradle/caches/modules-2/files-
2.1/org.apache.storm/storm-
core/0.9.5/d2bf27db853347dcf66990b4514db20a7897303e/storm-core-
0.9.5.jar!META-INF/license/LICENSE.base64.txt to '/Users/agarg/Documents/notificationRepo/sample/build/tmp/expandedArchives/storm-
core-0.9.5.jar_366us3312tpl54tci2fld83fij/META-INF/license/LICENSE.base64.txt'.
这是我的build.gradle文件参考:
dependencies {
compile group: 'clj-stacktrace' , name: 'clj-stacktrace',version: cljStackTrace
compile group: 'org.apache.storm' , name: 'storm-core',version: stormVersion
}
task fatJar(type: Jar) {
manifest {
attributes 'Implementation-Title': 'Gradle Jar File Example',
'Implementation-Version': version,
'Main-Class': 'storm.topology.ExclamationTopology'
}
baseName = project.name + '-all'
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
with jar
}
buildscript {
repositories {
mavenCentral()
maven { url 'http://repo.spring.io/snapshot' }
maven { url 'http://repo.spring.io/milestone' }
maven { url "https://clojars.org/repo/" }
maven { url "http://repo.maven.apache.org/maven2" }
} }
可以帮我解决这里出了什么问题???
提前致谢
答案 0 :(得分:0)
我不熟悉gradle,但是,您不需要在胖罐中包含“storm-core”或transitive依赖项。如果你的远程jar包含Spout和Bolt类(也许你正在使用的一些第三方库不属于Storm)就足够了