首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ksqldb,问题设置架构注册表

ksqldb,问题设置架构注册表
EN

Stack Overflow用户
提问于 2021-09-11 17:29:31
回答 1查看 141关注 0票数 0

我在/etc/ksqldb/ksql-server.properties文件中的ksqldb-server中设置了我的模式注册表,就像他们在documentation中所说的那样:

代码语言:javascript
复制
ksql.schema.registry.url=http://myipaddress:8090

但是当我进入ksqldb容器时:

代码语言:javascript
复制
docker exec -it ksqldb-cli ksql http://ksqldb-server:8088

我试着跑:

代码语言:javascript
复制
CREATE STREAM tracking WITH (KAFKA_TOPIC='tracking', VALUE_FORMAT='AVRO');

我得到了错误:

代码语言:javascript
复制
Cannot create topic 'tracking' with format AVRO without configuring 'ksql.schema.registry.url'

我也尝试过使用以下设置,即使不推荐这样做:

代码语言:javascript
复制
SET 'ksql.schema.registry.url'='http://myipaddress:8090';

但仍然得到相同的错误,不确定我做错了什么。

这是我的docker-compose文件:

代码语言:javascript
复制
version: "3.3"
services:

  # Kafka/Zookeeper container
  divolte-kafka:
    image: krisgeus/docker-kafka
    restart: always
    environment:
      ADVERTISED_HOST: divolte-kafka
      LOG_RETENTION_HOURS: 1
      AUTO_CREATE_TOPICS: "false"
      KAFKA_CREATE_TOPICS: tracking:4:1
      ADVERTISED_LISTENERS: PLAINTEXT://divolte-kafka:9092,INTERNAL://localhost:9093
      LISTENERS: PLAINTEXT://0.0.0.0:9092,INTERNAL://0.0.0.0:9093
      SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,INTERNAL:PLAINTEXT
      INTER_BROKER: INTERNAL

  # Schema Registry
  schema-registry:
    image: confluentinc/cp-schema-registry:5.5.3
    restart: always
    depends_on:
      - divolte-kafka
    ports:
      - 8090:8081
    environment:
      SCHEMA_REGISTRY_HOST_NAME: schema-registry
      SCHEMA_REGISTRY_KAFKASTORE_CONNECTION_URL: divolte-kafka:2181

  # ksql server
  ksqldb-server:
    image: confluentinc/ksqldb-server:0.20.0
    restart: always
    hostname: ksqldb-server
    container_name: ksqldb-server
    depends_on:
      - divolte-kafka
    ports:
      - "8088:8088"
    environment:
      KSQL_LISTENERS: http://0.0.0.0:8088
      KSQL_BOOTSTRAP_SERVERS: divolte-kafka:9092
      KSQL_KSQL_LOGGING_PROCESSING_STREAM_AUTO_CREATE: "true"
      KSQL_KSQL_LOGGING_PROCESSING_TOPIC_AUTO_CREATE: "true"

  # ksql cli
  ksqldb-cli:
    image: confluentinc/ksqldb-cli:0.20.0
    restart: always
    container_name: ksqldb-cli
    depends_on:
      - divolte-kafka
      - ksqldb-server
    entrypoint: /bin/sh
    tty: true
EN

回答 1

Stack Overflow用户

发布于 2021-09-12 02:43:37

我已经在/etc/ksqldb/ksql-server.properties文件中的ksqldb-server中设置了

那么,您永远不会在Docker中使用此文件

您需要为它添加一个变量

代码语言:javascript
复制
KSQL_KSQL_SCHEMA_REGISTRY_URL:  "schema-registry:8081"

此外,您应该在注册表上使用Kafka,而不是废弃的Zookeeper,并使用属性KSQL_KAFKASTORE_BOOTSTRAP_SERVERS

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69145272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档