Apache Storm:IllegalArgumentException:字段 supervisor.scheduler.meta 必须是“java.util.Map”
Posted
技术标签:
【中文标题】Apache Storm:IllegalArgumentException:字段 supervisor.scheduler.meta 必须是“java.util.Map”【英文标题】:Apache Storm: IllegalArgumentException: field supervisor.scheduler.meta must be a 'java.util.Map' 【发布时间】:2016-02-05 12:19:25 【问题描述】:我是 apachestorm 的新手,目前正在尝试 Pluggable Scheduler 来安排任务分配:哪个任务应该在哪个主管上运行。
我尝试在主管节点的storm.yaml文件中设置“supervisor.scheduler.meta”值,如下所示,当我尝试运行主管时,我最终得到了非法参数异常。我使用的是apachestorm 0.10.0。你能指导我解决这个问题吗?请在下面找到配置文件和错误日志
storm.yaml
-----------
supervisor.scheduler.meta: "special-supervisor"
error-log
----
java.lang.IllegalArgumentException: field supervisor.scheduler.meta 'special-supervisor' must be a 'java.util.Map'
at backtype.storm.config$fn$reify__880.validateField(config.clj:58)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)
at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)
at backtype.storm.config$validate_configs_with_schemas.invoke(config.clj:118)
at backtype.storm.config$read_storm_config.invoke(config.clj:123)
at backtype.storm.command.config_value$_main.invoke(config_value.clj:22)
at clojure.lang.AFn.applyToHelper(AFn.java:154)
at clojure.lang.AFn.applyTo(AFn.java:144)
【问题讨论】:
supervisor.scheduler.meta 需要一个 java Map 实例——基本上是一个键值对。您可能希望以表示 yaml 中的 java Map 的格式表示“特殊主管”或预期值 【参考方案1】:映射条目需要有键和值。例如:
supervisor.scheduler.meta:
name: "special-supervisor"
其中“name”是键,“special-supervisor”是值。
【讨论】:
以上是关于Apache Storm:IllegalArgumentException:字段 supervisor.scheduler.meta 必须是“java.util.Map”的主要内容,如果未能解决你的问题,请参考以下文章