更改Kafka Connect工作人员的使用者配置

时间:2019-07-17 09:39:40

标签: kafka-consumer-api apache-kafka-connect

我遇到了用于Kafka Connect的HDFS SInk连接器的问题。它陷入了无限的再平衡循环中。根据连接器的github页面上的讨论之一,一种可能的解决方案是对使用者配置进行一些更改。例如

session.timeout.ms=10000
heartbeat.interval.ms=3000
request.timeout.ms=1810000
max.poll.interval.ms=1800000

但是我的问题是我不知道在哪里做。我的理解是,使用者配置是在正在使用的应用程序中配置的,但是在源代码中我看不到对这些配置的任何引用。

如果将它们添加到接收器连接器的配置文件中,然后重新启动连接任务,则从日志中可以看到上述配置保持不变。

如果我将它们添加到connect-distributed.properties中,然后重新启动工作器和任务,则从日志中可以看到上述配置保持不变。

在哪里设置这些设置,以便Kafka-Connect拾取它们?

1 个答案:

答案 0 :(得分:0)

在使用connect-distributed.properties配置文件时,设置使用者配置的方法是在“消费者”前添加。到每个配置(或生产者配置为“生产者”。)

所以

session.timeout.ms=10000

成为

consumer.session.timeout.ms=10000

在使用Confluents(尚未准备好生产)时,需要对Kafka Connect的Helm图表进行一些更改。首先,所有其他配置都需要放在values.yaml的customEnv部分中。其次,您要在此处设置的每个配置都必须全部大写,并带有“。”。取而代之 '_'。第三,每个配置都需要预先添加“ CONNECT _”

所以

session.timeout.ms=10000

成为

CONNECT_SESSION_TIMEOUT_MS: 10000

这仅适用于自动从工作人员那里开始的消费者。

从任务开始的使用者需要进行其他更改。在“ CONNECT_”之后,您必须放置“ CONSUMER_”。 (对于生产者配置,您需要使用'PRODUCER _')

所以

session.timeout.ms=10000

成为

CONNECT_CONSUMER_SESSION_TIMEOUT_MS: 10000