嗨,我有一个非常奇怪的问题,
我无法从clojure调用kafkaconsumber对象上的methon订阅。以下是我的代码。
(.subscribe (KafkaConsumer. {"bootstrap.servers" "127.0.0.1:9092"
"key.deserializer" "org.apache.kafka.common.serialization.StringDeserializer"
"value.deserializer" "org.apache.kafka.common.serialization.StringDeserializer"
"partition.assignment.strategy" "roundrobin"
"group.id" "clj-kafka.consumer"
"auto.offset.reset" "smallest"
"auto.commit.enable" "false"}) ["test"]))
我在project.clj中定义的kafka版本是
[org.apache.kafka/kafka_2.10 "0.9.0.1"]
为了安全起见,我已经为我的对象转储了可用的确切方法,而subscribe就是其中之一,这意味着它只能是一个参数问题?
https://kafka.apache.org/090/javadoc/index.html?org/apache/kafka/clients/consumer/KafkaConsumer.html这是我正在使用的文档。
欢迎任何想法。
答案 0 :(得分:1)
在Kafka if IDed in d:
y = d[IDed]
closest = min(y, key=lambda x:abs(x-pos))
客户端不再包含在Kafka核心模块中,但包含在自己的模块0.9.x
中。
因此,您应该包含kafka-clients
而不是[org.apache.kafka/kafka-clients "0.9.0.1"]
。
顺便说一句:在kafka_2.10
中,参数0.9.x
的值应为auto.offset.reset
,earliest
或latest
(而不是none
值{ {1}}和0.8.x
)(请参阅https://kafka.apache.org/090/documentation.html#newconsumerconfigs)