我正在尝试通过YAML配置KafkaSpout,但出现以下错误
线程“ main”中的异常java.lang.IllegalArgumentException:参数类型不匹配
以下是我的YAML文件中的内容
name: "SampleTopology"
components:
- id: "onlyValueRecordTranslator"
className: "org.apache.storm.kafka.spout.DefaultRecordTranslator"
- id: "spoutConfigBuilder"
className:
"org.apache.storm.kafka.spout.KafkaSpoutConfig$Builder"
constructorArgs:
- "localhost:9092"
- ["myKafkaTopic"]
properties:
- name: "firstPollOffsetStrategy"
value: "LATEST"
- name: "recordTranslator"
ref: "onlyValueRecordTranslator"
configMethods:
- name: "setProp"
args:
- {
"key.deserializer" :
"org.apache.kafka.common.serialization.StringDeserializer",
"value.deserializer":
"org.apache.kafka.common.serialization.StringDeserializer"
}
- id: "spoutConfig"
className: "org.apache.storm.kafka.spout.KafkaSpoutConfig"
constructorArgs:
- ref: "spoutConfigBuilder"
有人可以向我指出如何通过YAML使用KafkaSpoutConfig的任何示例吗?
我正在使用以下版本的Storm和Kafka
org.apache.storm:storm-core:1.2.2
org.apache.storm:storm-kafka-client:1.2.2
org.apache.storm', name: 'flux-core', version: '1.2.2
答案 0 :(得分:1)
YAML看起来正确(将假定缩进的缩进是复制粘贴错误,否则您需要修复该错误)。
您受到https://github.com/apache/storm/pull/2575中修复的错误的影响。它仅在Storm 2.0.0中已修复,而在1.x分支中未修复。我看不出我们无法反向移植的原因。
您要向后移植的代码是此文件https://github.com/apache/storm/pull/2575/files#diff-472112e23a03ec30ae9c55beab542631。随时在https://issues.apache.org/jira上打开一个问题。如果要进行处理,可以将PR提交到https://github.com/apache/storm/pull。