2016-10-22 73 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