Skip to content
This repository was archived by the owner on Jun 16, 2023. It is now read-only.
This repository was archived by the owner on Jun 16, 2023. It is now read-only.

在jstorm中使用Storm Sql Core依赖冲突的问题 #595

@mrgiser

Description

@mrgiser

如题,项目需要在Jstorm中使用storm-sql-core包,而使用storm-sql-core时需要依赖原生的storm-core,如果同时引入JStorm-core、storm-core将会出错,是否不能同时依赖二者,这种情况,有没有解决办法?谢谢~
以下报错还只是读取配置文件时的问题,后面坑可能更多???
Exception in thread "main" java.lang.ExceptionInInitializerError
at backtype.storm.topology.BaseConfigurationDeclarer.(BaseConfigurationDeclarer.java:29)
at backtype.storm.topology.TopologyBuilder$ConfigGetter.(TopologyBuilder.java:433)
at backtype.storm.topology.TopologyBuilder$SpoutGetter.(TopologyBuilder.java:450)
at backtype.storm.topology.TopologyBuilder.setSpout(TopologyBuilder.java:289)
at com.ctg.itrdc.ruleengine.JsonTopology.main(JsonTopology.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)
Caused by: java.lang.RuntimeException: Invalid configuration defaults.yaml:Found multiple defaults.yaml resources. You're probably bundling the Storm jars with your topology jar. [jar:file:/E:/Program%20Files%20(x86)/apache-maven-3.3.1-bin/repos/repository/com/alibaba/jstorm/jstorm-core/2.2.1/jstorm-core-2.2.1.jar!/defaults.yaml, jar:file:/E:/Program%20Files%20(x86)/apache-maven-3.3.1-bin/repos/repository/org/apache/storm/storm-core/1.1.1/storm-core-1.1.1.jar!/defaults.yaml]
at com.alibaba.jstorm.utils.LoadConf.findAndReadYaml(LoadConf.java:77)
at backtype.storm.utils.Utils.readDefaultConfig(Utils.java:355)
at backtype.storm.utils.Utils.readStormConfig(Utils.java:453)
at backtype.storm.utils.Utils.(Utils.java:112)
... 10 more
Caused by: java.io.IOException: Found multiple defaults.yaml resources. You're probably bundling the Storm jars with your topology jar. [jar:file:/E:/Program%20Files%20(x86)/apache-maven-3.3.1-bin/repos/repository/com/alibaba/jstorm/jstorm-core/2.2.1/jstorm-core-2.2.1.jar!/defaults.yaml, jar:file:/E:/Program%20Files%20(x86)/apache-maven-3.3.1-bin/repos/repository/org/apache/storm/storm-core/1.1.1/storm-core-1.1.1.jar!/defaults.yaml]
at com.alibaba.jstorm.utils.LoadConf.getConfigFileInputStream(LoadConf.java:101)
at com.alibaba.jstorm.utils.LoadConf.findAndReadYaml(LoadConf.java:55)
... 13 more

Activity

cycyyy

cycyyy commented on Nov 29, 2017

@cycyyy

设置依赖的时候jstorm和storm的依赖应该都设置成provided

mrgiser

mrgiser commented on Nov 29, 2017

@mrgiser
Author

@cycyyy 谢谢,我是本地调试的,我都注释掉了provided,本地调试的时候应该怎么设置?

cycyyy

cycyyy commented on Nov 29, 2017

@cycyyy

本地调试无解 本地调试会把所有jar都打进起来的 你可以调试的时候先把jstorm或者storm的依赖去掉一个

mrgiser

mrgiser commented on Nov 30, 2017

@mrgiser
Author

已解决,亲测正常运行。
本地调试时将storm-core-1.1.1.jar中的defaults.yaml删除,jstorm和storm的依赖应该都不要设置成provided,可以保证本地调试
集群模式,jstorm依赖为provided,storm依然保持不是provided,成功运行。
若storm-core设置为provided将会加载不了storm-core的类,而且web-ui中不会显示system.out.pringtln打印出的类加载失败的异常

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

      Development

      No branches or pull requests

        Participants

        @cycyyy@mrgiser

        Issue actions

          在jstorm中使用Storm Sql Core依赖冲突的问题 · Issue #595 · alibaba/jstorm