【发布时间】:2021-03-09 20:32:32
【问题描述】:
我正在本地机器上测试storm+kafka 集成。我有风暴版本 1.2.3 和 Kafka 2.5.0。我正在使用来自 https://github.com/pvillard31/storm-kafka-kerberos/blob/master/src/main/java/example/KafkaStormKafkaTopology.java 作为我的测试代码。
每当我提交拓扑时,我都会收到以下错误
Unable to get offset lags for kafka. Reason: org.apache.kafka.shaded.common.config.ConfigException: Invalid value
org.apache.kafka.common.serialization.StringDeserializer for configuration value.deserializer:
Class org.apache.kafka.common.serialization.StringDeserializer could not be found.
at org.apache.kafka.shaded.common.config.ConfigDef.parseType(ConfigDef.java:671)
at org.apache.kafka.shaded.common.config.ConfigDef.parse(ConfigDef.java:418)
at org.apache.kafka.shaded.common.config.AbstractConfig.<init>(AbstractConfig.java:56)
at org.apache.kafka.shaded.common.config.AbstractConfig.<init>(AbstractConfig.java:63)
at org.apache.kafka.shaded.clients.consumer.ConsumerConfig.<init>(ConsumerConfig.java:414)
at org.apache.kafka.shaded.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:584)
at org.apache.kafka.shaded.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:566)
at org.apache.storm.kafka.monitor.KafkaOffsetLagUtil.getOffsetLags(KafkaOffsetLagUtil.java:230)
at org.apache.storm.kafka.monitor.KafkaOffsetLagUtil.main(KafkaOffsetLagUtil.java:144)
知道为什么我会收到此错误吗?我该如何解决这个问题?
我看到过去在 https://stackoverflow.com 中提出了类似的问题
Class org.apache.kafka.abstracts.serialization.StringDeserializer could not be found 但是,在我的情况下,反序列化器用作“org.apache.kafka.common.serialization.StringDeserializer”
props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
【问题讨论】:
-
您应该尝试使用 StringDeserializer.class.getName() 来防止配置中的拼写错误
-
@OneCricketeer 是的,我也试过了。没用
标签: java apache-kafka apache-storm