2016-10-22 9 views
3

Привет Im работает Кафка Connect Docker изображенияЗапуск Кафка соединение с Avro конвертер: ConfigException: "Missing схемы URL реестра"

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) 

не могу понять, где добавить «схему .registry.url "conf !!

ответ

4

проблема была с _INTERNAL_KEY_ и _INTERNAL_VALUE_
я не добавлял SCHEMA_REGISTRY_URL для этих двух так же, как я сделал для _KEY_CONVERTER и _KEY_VALUE каким-либо образом я перешел обратно в org.apache.kafka.connect.json.JsonConverter для внутреннего ключа и значения

+0

Это правильный ответ. Используемый здесь avro-конвертер требует конфигурации URL-адреса реестра схемы для каждого экземпляра, в котором он используется. JsonConverter не имеет такого требования, хотя он имеет свои собственные параметры конфигурации, если вы хотите их использовать (например, schemas.enable). – dawsaw

0

Если вы используете .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