来自合流的模式注册表docker

问题描述 投票:0回答:1

我想将模式注册表docker(confluent拥有的图像)与我在本地PC上安装的开源Kafka一起使用。

我正在使用以下命令来运行图像:

docker run -p 8081:8081  \
    -e  SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS=PLAINTEXT://127.0.0.1:9092 \
    -e SCHEMA_REGISTRY_LISTENERS=http://0.0.0.0:8081 \
    -e SCHEMA_REGISTRY_DEBUG=true confluentinc/cp-schema-registry:latest

但是我遇到以下连接错误:

[kafka-admin-client-thread | adminclient-1] WARN org.apache.kafka.clients.NetworkClient - [AdminClient clientId=adminclient-1] Connection to node -1 (/127.0.0.1:9092) could not be established. Broker may not be available.
[kafka-admin-client-thread | adminclient-1] WARN org.apache.kafka.clients.NetworkClient - [AdminClient clientId=adminclient-1] Connection to node -1 (/127.0.0.1:9092) could not be established. Broker may not be available.
[main] ERROR io.confluent.admin.utils.ClusterStatus - Error while getting broker list.
java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment.
    at org.apache.kafka.common.internals.KafkaFutureImpl.wrapAndThrow(KafkaFutureImpl.java:45)
    at org.apache.kafka.common.internals.KafkaFutureImpl.access$000(KafkaFutureImpl.java:32)
    at org.apache.kafka.common.internals.KafkaFutureImpl$SingleWaiter.await(KafkaFutureImpl.java:89)
    at org.apache.kafka.common.internals.KafkaFutureImpl.get(KafkaFutureImpl.java:260)
    at io.confluent.admin.utils.ClusterStatus.isKafkaReady(ClusterStatus.java:149)
    at io.confluent.admin.utils.cli.KafkaReadyCommand.main(KafkaReadyCommand.java:150)
Caused by: org.apache.kafka.common.errors.TimeoutException: Timed out waiting for a node assignment.
[main] INFO io.confluent.admin.utils.ClusterStatus - Expected 1 brokers but found only 0. Trying to query Kafka for metadata again ...

我在本地主机上安装了Kafka。有解决这个问题的主意吗?

docker apache-kafka confluent confluent-schema-registry confluent-kafka
1个回答
0
投票

因此,在配置中,您告诉Schema Registry在127.0.0.1:9092处查找Kafka。

但是,为了使127.0.0.1:9092可达,您需要相应地配置播发的侦听器。

[如果您未使用docker映像运行Kafka,只需在server.properties中添加以下内容:

advertised.listeners=PLAINTEXT://127.0.0.1:9092

或者,如果您使用的是Docker映像,则只需导出KAFKA_ADVERTISED_LISTENERS

© www.soinside.com 2019 - 2024. All rights reserved.