Closed wurangbo closed 3 years ago
异常信息能够贴全一些吗?还有打包本地运行的的时候是怎么样的?通过什么方式打包呢?
bash-4.4# storm jar /apache-storm-1.2.2/examples/storm-starter/target/hub-0.0.1-SNAPSHOT.jar com.phoenix.hub.HubApplication phoenixTopology Running: /usr/lib/jvm/java-1.8-openjdk/jre/bin/java -client -Ddaemon.name= -Dstorm.options= -Dstorm.home=/apache-storm-1.2.2 -Dstorm.log.dir=/logs -Djava.library.path=/usr/local/lib:/opt/local/lib:/usr/lib -Dstorm.conf.file= -cp /apache-storm-1.2.2/:/apache-storm-1.2.2/lib/:/apache-storm-1.2.2/extlib/*:/apache-storm-1.2.2/examples/storm-starter/target/hub-0.0.1-SNAPSHOT.jar:/conf:/apache-storm-1.2.2/bin -Dstorm.jar=/apache-storm-1.2.2/examples/storm-starter/target/hub-0.0.1-SNAPSHOT.jar -Dstorm.dependency.jars= -Dstorm.dependency.artifacts={} com.phoenix.hub.HubApplication phoenixTopology Error: Could not find or load main class com.phoenix.hub.HubApplication 打包用的就是 mvn package命令
报错提示信息是 无法找到或加载主类,你是用storm方式启动的对吧,可能用storm方式启动的和用普通方式启动的方式不一样,这点你可以查看 SpringBoot打包的方式和普通maven 打包的方式的区别。 也可以不同SpringBoot框架,试试打包部署有没有问题等等。 目前我这边没有storm环境了,所以没有在上面进行调试,所有这种问题只能帮你分析了。。。 具体解决可能还是需要自行解决了。
原因找到了,spring boot pom文件的 build选项中需要加入 jar-with-dependencies 的配置选项
解决了就好。 麻烦能发下具体配置吗,我在pom.xml中加上并更新,用来帮助更多遇到这个问题的人。
稍等,还有一个slf4j的冲突,我解决后再发给你
hi, 这个异常如何排除掉呢,琢磨了好久了。
SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/apache-storm-1.2.2/lib/log4j-slf4j-impl-2.8.2.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/package/hub-0.0.1-SNAPSHOT-jar-with-dependencies.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
你用exclusions 标签把 storm自带的slf4j相关的jar排除,在手动添加slf4j相关jar试试
这个在本地模式运行时没有问题的,但发布到storm上就出问题了,不知道要排除哪一些
那么看下storm安装目录下的lib架包再来确定吧
lib下有slf4j的 jar文件,我们的工程里也有,造成了冲突,现在要把lib下的删掉?手动去掉工程里的又没有办法编译成功
我把你的代码下来,打包并上传到集群,运行 storm jar /package/springboot-kafka-storm-0.0.1-SNAPSHOT-jar-with-dependencies.jar com.pancm.Application phoenixTopology 感觉还是打包设置的问题.
Caused by: java.lang.IllegalArgumentException: No auto configuration classes found in META-INF/spring.factories. If you are using a custom packaging, make sure that file is correct. at org.springframework.util.Assert.notEmpty(Assert.java:277) at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.getCandidateConfigurations(AutoConfigurationImportSelector.java:153) at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.selectImports(AutoConfigurationImportSelector.java:95) at org.springframework.context.annotation.ConfigurationClassParser.processDeferredImportSelectors(ConfigurationClassParser.java:547) ... 14 common frames omitted
嗯,应该是SpringBoot自带的打包方式和普通Maven打包的方式不一样,你试试用普通Maven方式打包程序再到Storm集群运行试试。
有没有什么建议啊,哥们
想了一下,目前有这几个建议: 1.使用最新的storm的包; 2.用不同的打包方式尝试; 3.上述如果都不行,那么改成不用SpringBoot的整合进行尝试,然后再来慢慢的进行改造。
前面两个已经试了,没有成功。第三个已经做好了
这个异常,如何处理,我是根据你这个改造的project, 调试模式没有问题,打包上传到nimbus上,运行 storm jar /apache-storm-1.2.2/examples/hub-0.0.1-SNAPSHOT.jar com.phoenix.hub.HubApplication phoenixTopology 出现了以上的异常,项目结构你的基本完全一致 com └─phoenix └─hub ├─configuration ├─constant ├─kafka ├─model ├─service │ └─impl ├─storm │ ├─bolt │ └─spout └─util