【发布时间】:2021-10-12 03:06:09
【问题描述】:
我正在尝试使用 Zookeper、Kafdrop 和 Schema Registry 运行 Kafka 服务,我通过在一个容器中安装 Kafka、Zookeper 和 Kadrop 然后在另一个容器中安装 Confluent Schema Registry(带有自己的 Kafka、Zookeeper、 Ksql Server 和 Rest Proxy),但是试图让 kafdrop 读取模式注册表不起作用,所以现在我想只安装一个带有 Kafka、Zookeeper、Kafdrop 和模式注册表的容器,即使一切都安装成功,模式注册表每 10 秒左右重新启动一次,我无法联系服务 (localhost:8085) 来添加我的模式,所以我想知道是否可以在 Confluent 服务套件之外运行 Confluent Schema Registry,在这里是我的 YAML 文件:
version: '2'
services:
kafka:
image: wurstmeister/kafka
container_name: kafka
ports:
- "9092:9092"
environment:
- KAFKA_ADVERTISED_HOST_NAME=127.0.0.1
- KAFKA_ADVERTISED_PORT=9092
- KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
- KAFKA_LISTENERS=INTERNAL://:29092,EXTERNAL://:9092
- KAFKA_ADVERTISED_LISTENERS=INTERNAL://kafka:29092,EXTERNAL://localhost:9092
- KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
- KAFKA_INTER_BROKER_LISTENER_NAME=INTERNAL
- KAFKA_SCHEMA_REGISTRY_URL=schemaregistry:8085
depends_on:
- zookeeper
zookeeper:
image: wurstmeister/zookeeper
container_name: zookeeper
ports:
- "2181:2181"
environment:
- KAFKA_ADVERTISED_HOST_NAME=zookeeper
schemaregistry:
image: confluentinc/cp-schema-registry:6.2.0
restart: always
depends_on:
- zookeeper
environment:
SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: "zookeeper:2181"
SCHEMA_REGISTRY_HOST_NAME: schemaregistry
SCHEMA_REGISTRY_LISTENERS: "http://0.0.0.0:8085"
ports:
- 8085:8085
kafdrop:
image: obsidiandynamics/kafdrop
container_name: kafdrop
restart: "no"
ports:
- "9000:9000"
environment:
KAFKA_BROKERCONNECT: "kafka:29092"
JVM_OPTS: "-Xms16M -Xmx48M -Xss180K -XX:-TieredCompilation -XX:+UseStringDeduplication -noverify"
SCHEMAREGISTRY_CONNECT: schemaregistry:8085
depends_on:
- "kafka"
【问题讨论】:
-
没有“Confluent Kafka”这样的东西。如果您提供了容器崩溃的日志,您会得到更好的答案。除此之外,Confluent 在 github 中提供了一个多合一的 Compose 文件,它工作正常,你需要做的就是添加 kafdrop 到它
标签: apache-kafka docker-compose confluent-schema-registry