Нет константы перечисления org.apache.kafka.common.protocol.SecurityProtocol.CLIENT aws MSK

Я пытаюсь запустить реестр схем на EC2. Моя кафка работает на AWS .

Это мой файл свойств

listeners=http://0.0.0.0:8081
kafkastore.connection.url=z-3.***:2181,z-***:2181,z-**:2181
kafkastore.bootstrap.servers=PLAINTEXT://b-3.**:9092,PLAINTEXT://b-6.**:9092,PLAINTEXT://b-1.**:9092
kafkastore.topic=_schemas
debug=false

schema-registry-start /etc/schema-registry/schema-registry.properties &

Когда я повторяю это, я получаю ошибку ниже

kafka.common.KafkaException: Failed to parse the broker info from zookeeper: {"listener_security_protocol_map":{"CLIENT":"PLAINTEXT","CLIENT_SECURE":"SSL","REPLICATION":"PLAINTEXT","REPLICATION_SECURE":"SSL"},"endpoints"

Caused by: java.lang.IllegalArgumentException: No enum constant org.apache.kafka.common.protocol.SecurityProtocol.CLIENT

Я изменил его TSL,PLAINTEXT и без обоих, но все они выдают ошибку. У меня также есть возможность подключения от EC2 к MSK.

Версия Apache Kafka

2.2.1

сливаться

sudo rpm --import http://packages.confluent.io/deb/3.1/archive.key

даже если я не упоминаю URL-адрес брокера, я также получаю ту же ошибку

Обновление вопроса на основе ответа

когда не упоминается URL-адрес подключения

[ec2-user@ip-10-97-54-99 ~]$ [2020-01-11 03:46:29,418] ERROR Server died unexpectedly:  (io.confluent.kafka.schemaregistry.rest.SchemaRegistryMain:51)
io.confluent.common.config.ConfigException: Missing required configuration "kafkastore.connection.url" which has no default value.
        at io.confluent.common.config.ConfigDef.parse(ConfigDef.java:241)
        at io.confluent.common.config.AbstractConfig.<init>(AbstractConfig.java:76)
        at io.confluent.rest.RestConfig.<init>(RestConfig.java:299)
        at io.confluent.kafka.schemaregistry.rest.SchemaRegistryConfig.<init>(SchemaRegistryConfig.java:358)
        at io.confluent.kafka.schemaregistry.rest.SchemaRegistryConfig.<init>(SchemaRegistryConfig.java:354)
        at io.confluent.kafka.schemaregistry.rest.SchemaRegistryMain.main(SchemaRegistryMain.java:41)

Упоминание CLIENT:// или CLIENT_SECURE:// также выдает ту же ошибку.

и MSK предоставляет Plaintext также. Я вижу это в информации о клиенте

2 ответа

Думаю, проблема в вашей версии. Я также столкнулся с той же проблемой после того, как я установил вручную, и это сработало для меня.

это мой точный шаг установки и шаг начала реестра схемы

sudo yum install java-1.8.0
curl -O http://packages.confluent.io/archive/5.3/confluent-5.3.2-2.12.tar.gz
tar xzf confluent-5.3.2-2.12.tar.gz
cd confluent-5.3.2/etc/schema-registry/

/home/ec2-user/confluent-5.3.2/bin/schema-registry-start /home/ec2-user/confluent-5.3.2/etc/schema-registry/schema-registry.properties

Если вы настроите kafkastore.bootstrap.servers, то вам нужно удалить строку подключения Zookeeper из реестра схем.

Первичные выборы на основе Кафки выбираются, когда <kafkastore.connection.url>это не настроен и имеет бутстраповские брокер Кафки<kafkastore.bootstrap.servers> указан

Попробуйте сначала просто удалить это.

Также актуально - https://github.com/confluentinc/schema-registry/issues?utf8=%E2%9C%93&q=is%3Aissue+MSK+


Неясно, какую версию реестра вы пытались установить, но MSK не имеет строки подключения клиента PLAINTEXT, как показано listener_security_protocol_map.

Вам нужно будет указать другое соединение, например CLIENT:// или CLIENT_SECURE:// для действующего протокола слушателя, если PLAINTEXT все еще не работает

Другие вопросы по тегам