美文网首页程序员
Storm配置文件格式异常

Storm配置文件格式异常

作者: 皮皮卡卡丘 | 来源:发表于2018-12-30 00:01 被阅读6次

 Storm的配置文件格式很容易出错,从而导致Storm无法正确启动,由格式导致的错误信息一般如下所示:

Exception in thread "main" java.lang.ExceptionInInitializerError
    at org.apache.storm.config$read_storm_config.invoke(config.clj:78)
    at org.apache.storm.config$fn__906.invoke(config.clj:100)
    at org.apache.storm.config__init.load(Unknown Source)
    at org.apache.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.classForName(RT.java:2154)
    at clojure.lang.RT.classForName(RT.java:2163)
    at clojure.lang.RT.loadClassForName(RT.java:2182)
    at clojure.lang.RT.load(RT.java:436)
    at clojure.lang.RT.load(RT.java:412)
    at clojure.core$load$fn__5448.invoke(core.clj:5866)
    at clojure.core$load.doInvoke(core.clj:5865)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.core$load_one.invoke(core.clj:5671)
    at clojure.core$load_lib$fn__5397.invoke(core.clj:5711)
    at clojure.core$load_lib.doInvoke(core.clj:5710)
    at clojure.lang.RestFn.applyTo(RestFn.java:142)
    at clojure.core$apply.invoke(core.clj:632)
    at clojure.core$load_libs.doInvoke(core.clj:5753)
    at clojure.lang.RestFn.applyTo(RestFn.java:137)
    at clojure.core$apply.invoke(core.clj:634)
    at clojure.core$use.doInvoke(core.clj:5843)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at org.apache.storm.command.config_value$loading__5340__auto____12530.invoke(config_value.clj:16)
    at org.apache.storm.command.config_value__init.load(Unknown Source)
    at org.apache.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.classForName(RT.java:2154)
    at clojure.lang.RT.classForName(RT.java:2163)
    at clojure.lang.RT.loadClassForName(RT.java:2182)
    at clojure.lang.RT.load(RT.java:436)
    at clojure.lang.RT.load(RT.java:412)
    at clojure.core$load$fn__5448.invoke(core.clj:5866)
    at clojure.core$load.doInvoke(core.clj:5865)
    at clojure.lang.RestFn.invoke(RestFn.java:408)
    at clojure.lang.Var.invoke(Var.java:379)
    at org.apache.storm.command.config_value.<clinit>(Unknown Source)
Caused by: while scanning a simple key
 in 'reader', line 3, column 1:
    storm.health.check.timeout.ms:5000
    ^
could not found expected ':'
 in 'reader', line 4, column 1:
    supervisor.slots.ports: 
    ^

 造成这种错误的主要原因,是由于配置文件中的特殊位置无空格,然而要解决这个问题又比较棘手。这里介绍一种简便有效的办法。只需要使用vim打开配置文件,进行修改时让所有配置内容都显色即可,正确的全部显色的配置文件如下所示:


image.png

 为了说明,特意设计了一个错误用例,用于和正确用例进行比对,错误的未完全显色的配置文件如下所示:


image.png
 错误配置文件相较于正确配置文件,唯一的差别就在于参数“5000”前面少一个空格。

相关文章

网友评论

    本文标题:Storm配置文件格式异常

    本文链接:https://www.haomeiwen.com/subject/cwmflqtx.html