#apache-kafka #confluent-platform #apache-kafka-connect
#apache-kafka #confluent-платформа #apache-kafka-connect
Вопрос:
Привет, я запускаю Kafka Connect docker images
docker run -d
--name=kafka-connect
--net=host
-e CONNECT_BOOTSTRAP_SERVERS=localhost:39092
-e CONNECT_REST_PORT=28082
-e CONNECT_GROUP_ID="quickstart"
-e CONNECT_CONFIG_STORAGE_TOPIC="quickstart-config"
-e CONNECT_OFFSET_STORAGE_TOPIC="quickstart-offsets"
-e CONNECT_STATUS_STORAGE_TOPIC="quickstart-status"
-e CONNECT_KEY_CONVERTER="io.confluent.connect.avro.AvroConverter"
-e CONNECT_KEY_CONVERTER_SCHEMA_REGISTRY_URL="http://localhost:8081"
-e CONNECT_VALUE_CONVERTER="io.confluent.connect.avro.AvroConverter"
-e CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL="http://localhost:8081"
-e CONNECT_INTERNAL_KEY_CONVERTER="io.confluent.connect.avro.AvroConverter"
-e CONNECT_INTERNAL_VALUE_CONVERTER="io.confluent.connect.avro.AvroConverter"
-e CONNECT_REST_ADVERTISED_HOST_NAME="localhost"
-e CONNECT_ZOOKEEPER_CONNECT="localhost:2181"
tim/kafka-connect
и получение
Exception in thread "main" org.apache.kafka.common.config.ConfigException: Missing Schema registry url!
at io.confluent.connect.avro.AvroConverter.configure(AvroConverter.java:64)
at org.apache.kafka.connect.runtime.Worker.<init>(Worker.java:93)
at org.apache.kafka.connect.cli.ConnectDistributed.main(ConnectDistributed.java:74)
не могу понять, куда добавить «schema.registry.url» conf !!
Ответ №1:
проблема заключалась в _INTERNAL_KEY_
и _INTERNAL_VALUE_
Я не добавлял SCHEMA_REGISTRY_URL для этих двух таким же образом, как для _KEY_CONVERTER
и _KEY_VALUE
любым другим способом, на который я переключился org.apache.kafka.connect.json.JsonConverter
для внутреннего ключа и значения
Комментарии:
1. Это правильный ответ. Используемый здесь конвертер avro требует настройки URL-адреса реестра схемы для каждого экземпляра, в котором он используется. У JsonConverter нет такого требования, хотя у него есть свои собственные параметры конфигурации, если вы хотите их использовать (например, schemas.enable).
Ответ №2:
Если вы используете .properties
файл, вам потребуется:
:internal.key.converter.schema.registry.url http://urlgoes.here
:internal.value.converter.schema.registry.url http://urlgoes.here
Если вы передаете переменные среды командной строки, вам потребуется:
INTERNAL_KEY_CONVERTER_SCHEMA_REGISTRY_URL=http://urlgoes.here
INTERNAL_VALUE_CONVERTER_SCHEMA_REGISTRY_URL=http://urlgoes.here