Kafka Streams:配置“ AdminClientConfig”或“ ConsumerConfig”而不覆盖两个值

时间:2019-05-08 08:40:23

标签: scala apache-kafka kafka-consumer-api apache-kafka-streams

使用kafka版本:2.0.1和kafka-streams-scala版本2.0.1

记录DEBUG消息,例如:

  

DEBUG 2019-05-08 09:57:53,322 [he.kafka.clients.NetworkClient] [
  ] []:[消费者   clientId = XXX-bd6b071d-a44f-4253-a3a5-539d60a72dd3-StreamThread-1-consumer,   groupId = XXX]由于请求而与节点YYY断开连接   超时。”

引导我增加request.timeout.ms值:

  private val config: Properties = new Properties
  config.put(StreamsConfig.REQUEST_TIMEOUT_MS_CONFIG, "240000")
...
  private val streams: KafkaStreams = new KafkaStreams(topology, config)

但是,这会将AdminClientConfigConsumerConfig的新值设置为240000ms(AdminClientConfigConsumerConfig的默认request.timeout.ms值是实际上是不同的-分别为120000ms和40000ms。

是否可以为AdminClientConfigConsumerConfig 设置而不覆盖这两个值的Kafka Streams配置值?

1 个答案:

答案 0 :(得分:3)

您可以在任何配置前面加上consumer.admin.,以将其仅应用于一个客户端。

还有main.consumer.restore.consumer.global.consumer.可以进一步区分不同的消费者。使用consumer.作为前缀,该配置将应用于所有使用者。

最后,还有producer.前缀(为完整性起见请提及它)。

比较文档:https://docs.confluent.io/current/streams/developer-guide/config-streams.html#naming