【问题标题】:Can't start Kafka Connect: Timeout expired while fetching topic metadata无法启动 Kafka Connect:获取主题元数据时超时
【发布时间】:2019-11-22 09:51:40
【问题描述】:

首次尝试使用现有的 Kafka 部署运行 Kafka Connect。使用 SASL_PLAINTEXT 和 kerberos 身份验证。

我第一次尝试启动connect-distributed,我明白了:

ERROR Uncaught exception in herder work thread, exiting:  (org.apache.kafka.connect.runtime.distributed.DistributedHerder:227)
org.apache.kafka.common.errors.TimeoutException: Timeout expired while fetching topic metadata

如果我立即运行第二次,不做任何更改,而是看到:

ERROR Uncaught exception in herder work thread, exiting:  (org.apache.kafka.connect.runtime.distributed.DistributedHerder:227)
org.apache.kafka.common.errors.TopicAuthorizationException: Not authorized to access topics: [Offsets]

这是可重现的。

工人配置:

producer.interceptor.classes=io.confluent.monitoring.clients.interceptor.MonitoringProducerInterceptor
producer.interceptor.classes=io.confluent.monitoring.clients.interceptor.MonitoringConsumerInterceptor
bootstrap.servers=mybroker:9092
rest.port=28082
group.id=some-group
config.storage.topic=Configs
offset.storage.topic=Offsets
status.storage.topic=Status
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter
internal.key.converter=org.apache.kafka.connect.json.JsonConverter
internal.value.converter=org.apache.kafka.connect.json.JsonConverter
rest.advertised.host.name=localhost
log4j.root.loglevel=INFO
security.protocol=SASL_PLAINTEXT
sasl.kerberos.service.name=kafka
sasl.mechanism=GSSAPI
consumer.security.protocol=SASL_PLAINTEXT
consumer.sasl.kerberos.service.name=kafka
consumer.sasl.mechanism=GSSAPI
producer.security.protocol=SASL_PLAINTEXT
producer.sasl.kerberos.service.name=kafka
producer.sasl.mechanism=GSSAPI

【问题讨论】:

  • 您是否使用ssl 连接到主题?
  • 如果我配置正确,那么它不应该尝试使用 SSL。我正在重用与控制台生产者/消费者配合良好的配置。
  • 你能分享你的工人配置吗

标签: apache-kafka apache-kafka-connect apache-ranger


【解决方案1】:

软件职业教会我始终假设问题与错误日志完全无关,但有一次它是正确的:

Ranger 配置不正确,我确实无权访问该主题。

【讨论】:

  • 那么你到底做了什么?我也有sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \ username="admin" \ password="secret"; 用于生产者和消费者,但仍然是同样的错误
猜你喜欢
  • 2021-10-07
  • 2019-06-12
  • 2020-09-18
  • 1970-01-01
  • 2021-03-19
  • 1970-01-01
  • 1970-01-01
  • 2019-12-25
  • 2017-01-20
相关资源
最近更新 更多