ストームは、トポロジの操作は、クラスタをパッケージ化する必要がありますが実行されている2つのネイティブと実行中のクラスタに分割されて提出し、クラスタにjarファイルのパッケージをコピーし、次の方法を実行します。
ビン/ストームJARの/ opt / RUN /ストーム-demo- 1.0 -snapshot-dependencies.jar org.mort.storm.kafka.KafkaTopologyBasic JAR-with-
ビン/ストームJAR [JARパッケージのパス]、[場所のメインクラス名]
次のようにしかし、時にはエラープロンプトプログラムが実行されます。
java.lang.RuntimeException:にjava.io.IOException:によって引き起こされる複数のdefaults.yamlリソースが見つかりました。あなたは' おそらくあなたのトポロジージャーと嵐のjarファイルを束ねる再。[jarファイル:ファイル:!/opt/run/storm-demo-1.0-SNAPSHOT-jar-with-dependencies.jar /defaults.yaml、jarファイル:ファイル:/opt/module/apache-storm-1.2.3/lib/嵐・コア-1.2.3.jar /defaults.yaml]! org.apache.storm.utils.Utils.findAndReadConfigFile(Utils.java:時385 ) org.apache.storm.utils.Utils.readDefaultConfig(Utils.javaで:429 ) :org.apache.storm.utils.Utils.readStormConfig(Utils.javaで465 ) org.apache.storm.utils.Utilsで。<clinit>(Utils.java:179 ) ...39 以上 にjava.io.IOException:によって引き起こさは、複数のdefaults.yaml資源を発見しました。あなたは' おそらくあなたのトポロジージャーと嵐のjarファイルを束ねる再。[jarファイル:ファイル:!/opt/run/storm-demo-1.0-SNAPSHOT-jar-with-dependencies.jar /defaults.yaml、jarファイル:ファイル:/opt/module/apache-storm-1.2.3/lib/嵐・コア-1.2.3.jar /defaults.yaml]! org.apache.storm.utils.Utils.getConfigFileInputStream(Utils.java:時411 ) org.apache.storm.utils.Utils.findAndReadConfigFile(Utils.javaで:364 ) ... 42 もっと
問題の原因はそこに嵐・コアdefaults.yamlファイルは以下であるため、紛争の嵐実行時エラー、したがって提供属性が設定範囲をMavenの設定ファイルを変更し、追加することです:
<依存性> <のgroupId> org.apache.storm </のgroupId> <たartifactId>ストームコア</たartifactId> <バージョン> 1.2。3 </バージョン> <範囲> </スコープ>提供 </依存>
提供される容器は、スコープまたはJDK範囲が供給された配置を表し、そしてパッケージは(Tomcatなど)JDKコンテナによって提供される標的に依存していたことを示し、コンパイルのみクラスパスを使用してロードされ、それがパッケージターゲット・パッケージに含まれていません。
提出に成功し、再び実行してください。