2016-10-22 52 views
3

嗨进出口运行卡夫卡连接泊坞窗图像运行卡夫卡与连接器的Avro:ConfigException:“缺少架构注册表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