JStorm Found multiple defaults.yaml resources. You're probably bundling the Storm jars with your top
具體錯誤資訊如下:
/usr/local/java/jdk1.8.0_60/bin/java
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/local/jstorm-2.2.1/wait_deploy/test-jstorm-bolt.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/local/jstorm-2.2.1/lib/logback-classic-1.0.13.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]
Exception in thread "main" java.lang.ExceptionInInitializerError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at backtype.storm.config$loading__4958__auto__.invoke(config.clj:17)
at backtype.storm.config__init.load(Unknown Source)
at backtype.storm.config__init.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at clojure.lang.RT.loadClassForName(RT.java:2093)
at clojure.lang.RT.load(RT.java:430)
at clojure.lang.RT.load(RT.java:411)
at clojure.core$load$fn__1476.invoke(core.clj:5641)
at clojure.core$load.doInvoke(core.clj:5640)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.core$load_one.invoke(core.clj:5446)
at clojure.core$load_lib$fn__1425.invoke(core.clj:5486)
at clojure.core$load_lib.doInvoke(core.clj:5485)
at clojure.lang.RestFn.applyTo(RestFn.java:142)
at clojure.core$apply.invoke(core.clj:626)
at clojure.core$load_libs.doInvoke(core.clj:5528)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at clojure.core$apply.invoke(core.clj:628)
at clojure.core$use.doInvoke(core.clj:5618)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at backtype.storm.command.config_value$loading__4958__auto__.invoke(config_value.clj:16)
at backtype.storm.command.config_value__init.load(Unknown Source)
at backtype.storm.command.config_value__init.<clinit>(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at clojure.lang.RT.loadClassForName(RT.java:2093)
at clojure.lang.RT.load(RT.java:430)
at clojure.lang.RT.load(RT.java:411)
at clojure.core$load$fn__1476.invoke(core.clj:5641)
at clojure.core$load.doInvoke(core.clj:5640)
at clojure.lang.RestFn.invoke(RestFn.java:408)
at clojure.lang.Var.invoke(Var.java:379)
at backtype.storm.command.config_value.<clinit>(Unknown Source)
Caused by: java.lang.RuntimeException: java.io.IOException: Found multiple defaults.yaml resources. You're probably bundling the Storm jars with your topology jar. [jar:file:/usr/local/jstorm-2.2.1/jstorm-core-2.2.1.jar!/defaults.yaml, jar:file:/usr/local/jstorm-2.2.1/wait_deploy/test-jstorm-bolt.jar!/defaults.yaml]
at backtype.storm.utils.Utils.findAndReadConfigFile(Utils.java:222)
at backtype.storm.utils.Utils.readDefaultConfig(Utils.java:266)
at backtype.storm.utils.Utils.readStormConfig(Utils.java:292)
at backtype.storm.utils.Utils.<clinit>(Utils.java:62)
... 36 more
Caused by: java.io.IOException: Found multiple defaults.yaml resources. You're probably bundling the Storm jars with your topology jar. [jar:file:/usr/local/jstorm-2.2.1/jstorm-core-2.2.1.jar!/defaults.yaml, jar:file:/usr/local/jstorm-2.2.1/wait_deploy/test-jstorm-bolt.jar!/defaults.yaml]
at backtype.storm.utils.Utils.getConfigFileInputStream(Utils.java:248)
at backtype.storm.utils.Utils.findAndReadConfigFile(Utils.java:202)
... 39 more
Failed to get config java.library.path
None
cannot concatenate 'str' and 'NoneType' objects
Syntax: [jstorm jar topology-jar-path class ...]
Runs the main method of class with the specified arguments.
The jstorm jars and configs in $JSTORM_CONF_DIR/storm.yaml are put on the classpath.
The process is configured so that StormSubmitter
(https://github.com/alibaba/jstorm/wiki/JStorm-Chinese-Documentation)
will upload the jar at topology-jar-path when the topology is submitted.
錯誤原因是:在打jar包的時候,把jstorm-core這個jar包也包含進去了,如下圖:
打包時,移除該jar,再次部署即可。
或者:
在pom檔案中修改storm-core的scope為provided
<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm-core</artifactId>
<version>1.1.0</version>
<!--本地除錯的時候,遮蔽掉scope,等打包部署的時候再放開-->
<scope>provided</scope>
</dependency>
這樣在idea打包時,就不會包含改 jar了。
小注:
provided是表明了dependency 由JDK或者容器提供,例如Servlet AP和一些Java EE APIs。這個scope 只能作用在編譯和測試時,同時沒有傳遞性。
作者:jiankunking 出處:http://blog.csdn.net/jiankunking
相關文章
- JStorm Storm 上手demoJSORM
- When you're goneGo
- EF:split your EDMX file into multiple diagrams
- Would you like to develop a story for your character?dev
- JStorm-Alibaba——Storm的實時流式計算框架JSORM框架
- 100 Things You Probably Didn't Know About Oracle DatabaseOracleDatabase
- 如何解決"You have an error in your SQL syntax"ErrorSQL
- 錯誤內容:You have an error in your SQL syntax; check the manual that corresponds to your MySQL serverErrorMySqlServer
- If you cannot remember your password for Recovery and Rescue for IBM LaptopREMIBMAPT
- 萬能方法解決——You have an error in your SQL syntaxErrorSQL
- Your Tokens Are Mine: A Suspicious Scam Token in A Top Exchange
- Top six reasons to archive your SAP data:Hive
- Eclipse中解決Multiple annotations found at this line錯誤。Eclipse
- Storm常見模式2——TOP N介紹ORM模式
- Unity3d build打包app時報錯:Failed to re-package resources. See the Console for details.Unity3DUIAPPAIPackage
- No suitable application records were found. Verify your bundle ideUIAPPIDE
- ECCV 2020 | Robust Re-Identification by Multiple Views Knowledge DistillationIDEView
- Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQLMySqlJDBCExceptionError
- Your password has expired. To log in you must change it using a client that supports expired passworclient
- Make sure you configure your "user.name" and "user.email" in git.AIGit
- JStorm-介紹JSORM
- Git衝突:commit your changes or stash them before you can merge.GitMIT
- PropertyReferenceException: No property courseId found for type CoursePic! Did you mean ‘courseid‘?Exception
- webpack 5 報錯 entry “mian“ not found did you spescify the correct option?Web
- git-----You have not concluded your merge (MERGE_HEAD exists)解決Git
- MySQL:You must reset your password using ALTER USER statement before executing this statement.MySql
- Jstorm叢集搭建過程/Jstorm叢集一鍵安裝部署JSORM
- Top 11 Things to do NOW to Stabilize your RAC Cluster Environment_1344678.1
- web server apache tomcat11-26-maven jarsWebServerApacheTomcatMavenJAR
- jstorm kafka外掛使用案例JSORMKafka
- 解決 Git 更新本地衝突:commit your changes or stash them before you can mergeGitMIT
- Storm 系列(九)—— Storm 整合 KafkaORMKafka
- 【Storm篇】--Storm基礎概念ORM
- 【Storm篇】--Storm分組策略ORM
- Git衝突:commit your changes or stash them before you can merge. 解決辦法GitMIT
- Hibernate 與 MySql 資料庫關鍵字衝突You have an error in your SQL syntax; check the manualMySql資料庫Error
- Top Ten Performance Mistakes Found in Oracle Systems. (文件 ID 858539.1)ORMOracle
- Multiple Regression