Нет константы перечисления 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 все еще не работает